爱因斯坦数学题

爱因斯坦曾出过这样一道数学题:有一条长阶梯,若每步跨2阶,最后剩下1阶;若每步跨3阶,最后剩下2阶;若每步跨5阶,最后剩下4阶;若每步跨6阶,则最后剩下5阶;只有每步跨7阶,最后才正好1阶不剩。

复制代码
#include<iostream>
using namespace std;
int main()
{
    int x = 1;
    int find = 0;
    while (find == 0)
    {
        if (x % 2 == 1 && x % 3 == 2 && x % 5 == 4 && x % 6 == 5 && x % 7 == 0)
        {
            cout << x << endl;
            find = 1;
        }
        x++;
    }
    return 0;
}
复制代码

另一种方法,这个阶梯数肯定是7的倍数。

复制代码
#include<iostream>
using namespace std;
int main()
{
    int x = 7;
    int a = 0;
    for (int i = 0; i <= 100; i++)
    {
        if ((x % 2 == 1) && (x % 3 == 2) && (x % 5 == 4) && (x % 6 == 5) && (x % 7 == 0))//如果符合这个数
        {
            a = x;//这里让a=x,后面会输出
            break;//if如果成立,跳出循环,a的值也会改变
        }
        x = 7 * (i + 1);//if没有成立进入下一个循环,x的值也会成为下一个7的倍数
    }
    if (a != 0)//a不等于0,说明上面if成立了
    {
        cout << a << endl;//输出a的值
    }
    return 0;
}
复制代码

 

posted @   酥饼馅红豆沙  阅读(152)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示