有五个整数,如果两个连续整数之间差都是2的倍数,那么就称这五个整数为“幸运数”。例如五个整数1、3、5、3、5是“幸运数”,因为差分别为:2、2、-2、2,它们都是2的倍数。
输入五个整数,判断这五个整数是否是“幸运数”。
【输入格式】输入五个整数
【输出格式】如果五个整数是“幸运数”,则输出"Lucky",否则输出"None"。
思路:此题需要用到循环(重复执行),用后一个数减去钱一个数,判断差的绝对值是不是2,如果是,继续,否则说明不是幸运数,停止循环,输出None。
一、Scratch解法:
创建列表num
1、重复执行5次,通过询问积木输入5个数,依次存入列表中。
2、定义变量“i”和“差”,“i”初始值为1,重复计算第i+1项与第i项的差,然后i增加1,直到i=5停止。
3、在循环中加入判断,看变量“差”的绝对值是否等于2,如果不等于2,说出"None",停止执行,否则继续。
4、如果循环顺利执行完,没有停止,说明是幸运数,就在程序结尾说"Lucky",完整的程序参考如下:
二、Python解法:
# 输入五个整数 numbers = list(map(int, input("请输入五个整数,以空格分隔: ").split())) # 确保输入的是五个整数 if len(numbers) != 5: print("请输入正好五个整数。") else: # 计算差值 differences = [numbers[i] - numbers[i-1] for i in range(1, 5)] # 判断差值是否都是2的倍数 if all(diff % 2 == 0 for diff in differences): print("Lucky") else: print("None")
三、C++解法:
#include <iostream> using namespace std; int main() { int numbers[5]; // 输入五个整数 cout << "请输入五个整数,以空格分隔: "; for (int i = 0; i < 5; ++i) { cin >> numbers[i]; } // 判断差值是否都是2的倍数 bool isLucky = true; for (int i = 1; i < 5; ++i) { int diff = numbers[i] - numbers[i-1]; //如果差值不是2的倍数,跳出循环 if (diff % 2 != 0) { isLucky = false; break; } } // 输出结果 if (isLucky) { cout << "Lucky" << endl; } else { cout << "None" << endl; } return 0; }
本站内容未经许可,禁止任何网站及个人进行转载。