C语言爱因斯坦的数学游戏,C语言实例 爱因斯坦的数学题

您可能感兴趣的话题:

C语言

核心提示:爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最最后剩一阶,若每步跨3 阶

爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问这条阶梯共有多少阶?

*问题分析与算法设计

根据题意,阶梯数满足下面一组同余式:

x≡1 (mod2)

x≡2 (mod3)

x≡4 (mod5)

x≡5 (mod6)

x≡0 (mod7)

*程序说明与注释

#include

int main()

{

int i=1; /*i为所设的阶梯数*/

while(!((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)&&(i%7==0)))

++i; /*满足一组同余式的判别*/

printf("Staris_number=%d\n",i);

}

*运行结果

Staris_number=119

*问题的进一步讨论

此题算法还可考虑求1、2、4、5的最小公倍数n,然后判t(t为n-1)≡0(mod7)是否成立,若不成立则t=t+n,再进行判别,直至选出满足条件的t值。请自行编写程序实现

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
爱因斯坦阶梯编程题是一个经典的编程问题,涉及到C语言的使用。现在,我将用300字来回答这个问题。 在爱因斯坦阶梯编程题中,我们需要根据一些条件来确定背包中不同物体的重量,以及物体之间的关系。根据题目给出的信息,我们可以得出以下结论: 1. 有5个人,他们分别是:爱因斯坦、亚里士多德、阿基米德、笛卡尔、牛顿。他们的职业分别是:物理学家、哲学家、数学家、哲学家、物理学家。 2. 到达顶端之前,只有两个人可以站在阶梯上,并且总是站在爱因斯坦的前面。 3. 笛卡尔的重量比爱因斯坦的轻,但是比数学家的重量要重。 4. 物理学家的重量最重,他的身高比其他所有人都高。 根据以上信息,我们可以得出以下答案: 1. 爱因斯坦是物理学家,且他站在阶梯中间,所以他是第三个上到顶端的人。 2. 由于爱因斯坦的前面只有两个人,所以在他前面的人只能是亚里士多德和阿基米德。 3. 笛卡尔的重量比爱因斯坦轻,但是比数学家重,所以他不能是第一个上到顶端的人。 4. 物理学家的重量最重,所以他不能是最轻的人。 综上所述,根据题目给出的条件,正确的答案是:亚里士多德、阿基米德、爱因斯坦、笛卡尔、牛顿。他们的职业分别是:哲学家、数学家、物理学家、哲学家、物理学家。 以上就是爱因斯坦阶梯编程题的回答。在实际编程中,我们可以使用C语言来实现相关逻辑,通过判断和比较来得到最终的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值