爱因斯坦的阶梯问题

问题描述:
设有一阶梯,若每步跨2阶,最后余1阶;若每步跨3阶,最后余2阶;若每步跨5阶,最后余4阶;若每步跨6阶,最后余5阶;当第步跨7阶时,正好达到阶梯顶。问共有多少级阶梯?

算法分析:

设阶梯数为n,这个n肯定是个奇数,这个奇数满足:n%2==1, n%3==2, n%5==4, n%6==5, n%7==0,所以:

代码如下:

ContractedBlock.gif ExpandedBlockStart.gif View Code
 1 #include <stdio.h>
2
3 int main(void)
4 {
5 int n = 3;
6
7 while(n)
8 {
9 if((n%2==1) && (n%3==2) && (n%5==4) && (n%6==5) && (n%7==0))
10 {
11 printf("%d", n);
12 break;
13 }
14 n += 2;
15 }
16
17 return 0;
18 }

输出结果:

119

转载于:https://www.cnblogs.com/jeff_nie/archive/2011/10/13/2210075.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值