问题描述:
爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问在1~N内,有多少个数能满足?
思路:
使用一个for
循环来遍历从1到N的所有数,对于每个数i
,使用取余运算符(%
)来判断是否满足给定的条件。如果满足所有条件,则将计数器count
加1。
最后输出满足条件的数的个数即可。
流程图:
代码实现:
#include <iostream> int main() { int N; std::cout << "请输入一个正整数N:"; std::cin >> N; int count = 0; // 记录满足条件的数的个数 for (int i = 1; i <= N; i++) { if (i % 2 == 1 && i % 3 == 2 && i % 5 == 4 && i % 6 == 5 && i % 7 == 0) { count++; } } std::cout << "在1~" << N << "内,满足条件的数的个数为:" << count << std::endl; return 0; }
标签:爱因斯坦,int,个数,每步,编程,最后,趣味,打卡 From: https://www.cnblogs.com/qmz-znv2/p/17409192.html