鱼C论坛

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

[已解决]006里面动动手2题

[复制链接]
发表于 2018-5-25 09:46:13 | 显示全部楼层 |阅读模式

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

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

x
x=7
flag=0
i=1
while flag==0:
        if (x%2==1) and (x%3==2) and (x%5==4) and (x%6==5) and (x%7==0):
                print (x)
                flag=1
        else:
                x=x*(i+1)        #这里的x=x*(i+1) 如果换成x=7*(i+1)   就行了.不知道为什么????
        i+=1
最佳答案
2018-5-25 09:58:25
hi 举个栗子

  1. x=7
  2. flag=0
  3. i=1
  4. while flag==0:
  5.         if (x%2==1) and (x%3==2) and (x%5==4) and (x%6==5) and (x%7==0):
  6.                 print (x)
  7.                 flag=1
  8.         else:
  9.                 x=x*(i+1)#here,程序逻辑发生错误,直接跳过了答案
  10.                 print(x)
  11.         i+=1
复制代码


>>>
14
42
168
840
5040
35280
282240
2540160
25401600
279417600
....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-25 09:55:10 | 显示全部楼层
你说反了吧,用7*(i+1)才能有解

x=x*(i+1)才不行,因为
i为1的时候,x为14
i为2的时候,x变成了14×3=42,跳过了中间许多的7的倍数
i为3的时候,x编程了42×4=168,跳过了更多的7的倍数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-25 09:58:25 | 显示全部楼层    本楼为最佳答案   
hi 举个栗子

  1. x=7
  2. flag=0
  3. i=1
  4. while flag==0:
  5.         if (x%2==1) and (x%3==2) and (x%5==4) and (x%6==5) and (x%7==0):
  6.                 print (x)
  7.                 flag=1
  8.         else:
  9.                 x=x*(i+1)#here,程序逻辑发生错误,直接跳过了答案
  10.                 print(x)
  11.         i+=1
复制代码


>>>
14
42
168
840
5040
35280
282240
2540160
25401600
279417600
....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-25 15:00:28 | 显示全部楼层
BngThea 发表于 2018-5-25 09:55
你说反了吧,用7*(i+1)才能有解

x=x*(i+1)才不行,因为

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 04:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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