问题描述:
爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨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; }