鱼C论坛

 找回密码
 立即注册
查看: 1087|回复: 4

[已解决]爱因斯坦走阶梯

[复制链接]
发表于 2020-2-17 13:30:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小甲鱼给的答案,电脑上运行不出来,或者说很慢一直不出答案。为什么啊?
另一个我自己写的可是总觉得不太严谨。
x = 7
i = 1
flag = 0
while i <= 100:
    if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):  
        flag = 1
    else:
        x = 7 * (i+1)
        i += 1
if flag == 1:
    print(' 阶梯数是: ', x)
else:
    print(' 在程序限定的范围内找不到答案! ')

自己版
x=7
i=1
while i<=100:
    if(x%2==1)and(x%3==2)and(x%5==4)and(x%6==5):
        print('楼梯的阶数是',x)
        break
    else:
        i=i+1
        x=7*(i+1)
if i>100:
   print('所给范围,没有答案')

最佳答案
2020-2-17 13:53:44
本帖最后由 jackz007 于 2020-2-17 13:56 编辑

        根本不需要那么复杂的逻辑,这个数是 7 的倍数,所以,可以从 7 开始枚举,每次加 7。
  1. c = 0
  2. for i in range(7 , 701 , 7):
  3.     if i % 2 == 1 and i % 3 == 2 and i % 5 == 4 and i % 6 == 5:
  4.         print(' 阶梯数是: ', i)
  5.         c += 1
  6. if c == 0:
  7.     print('所给范围,没有答案')
复制代码

运行实况:
  1. C:\Bin>python x.py
  2. 阶梯数是:  119
  3. 阶梯数是:  329
  4. 阶梯数是:  539

  5. C:\Bin>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-17 13:32:19 | 显示全部楼层
  1. x = 7
  2. i = 1
  3. flag = 0
  4. while i <= 100:
  5.     if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):  
  6.         flag = 1
  7.         break
  8.     else:
  9.         x = 7 * (i+1)
  10.         i += 1
  11. if flag == 1:
  12.     print(' 阶梯数是: ', x)
  13. else:
  14.     print(' 在程序限定的范围内找不到答案! ')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 13:53:44 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-2-17 13:56 编辑

        根本不需要那么复杂的逻辑,这个数是 7 的倍数,所以,可以从 7 开始枚举,每次加 7。
  1. c = 0
  2. for i in range(7 , 701 , 7):
  3.     if i % 2 == 1 and i % 3 == 2 and i % 5 == 4 and i % 6 == 5:
  4.         print(' 阶梯数是: ', i)
  5.         c += 1
  6. if c == 0:
  7.     print('所给范围,没有答案')
复制代码

运行实况:
  1. C:\Bin>python x.py
  2. 阶梯数是:  119
  3. 阶梯数是:  329
  4. 阶梯数是:  539

  5. C:\Bin>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-18 09:26:14 | 显示全部楼层
jackz007 发表于 2020-2-17 13:53
根本不需要那么复杂的逻辑,这个数是 7 的倍数,所以,可以从 7 开始枚举,每次加 7。

运行实况 ...

谢谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 17:36:53 | 显示全部楼层
c是来干嘛的,没看懂~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 00:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表