鱼C论坛

 找回密码
 立即注册
查看: 3736|回复: 3

[已解决]py005课爱因斯坦的问题

[复制链接]
发表于 2017-12-23 16:29:52 | 显示全部楼层 |阅读模式

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

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

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) # 根据题意,x一定是7的整数倍,所以每次乘以7
    i += 1

if flag == 1:
    print('阶梯数是:', x)
else:
    print('在程序限定的范围内找不到答案!')

我的版本
n=1
while n>0:
    if n%2==1 and n%3==2 and n%5==4 and n%6==5 and n%7==0:
        print(n)
        n=0
    else:
        n=n+1

我觉得在本课爱因斯坦的问题小甲鱼老师好像编得有点复杂了,看不明白,求大神指点一下。
最佳答案
2017-12-23 17:47:40
因为你的是n = n + 1,就是每次把n加1判断是不是符合条件
小甲鱼的是x = 7 * (i + 1),就是乘以7之后判断是否符合条件,所以运算量比你的少。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-23 17:07:40 | 显示全部楼层
每个人的思路不一样而已。
就你的代码而言 代码是少了点,效率跟 小甲鱼版本 差远了。
x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
不知道上面红色部份你有没有理解。要不然讲效率也跟你白讲
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-23 17:47:40 | 显示全部楼层    本楼为最佳答案   
因为你的是n = n + 1,就是每次把n加1判断是不是符合条件
小甲鱼的是x = 7 * (i + 1),就是乘以7之后判断是否符合条件,所以运算量比你的少。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-24 10:42:01 | 显示全部楼层
谢谢大神1们!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-19 16:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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