鱼C论坛

 找回密码
 立即注册
查看: 1174|回复: 2

[已解决]006讲 用编程求解至少有几阶台阶问题

[复制链接]
发表于 2018-2-8 10:11:43 | 显示全部楼层 |阅读模式

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

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

x
小甲鱼的答案是这样的:
  1. x = 7
  2. i = 1[b][/b]
  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.     else:
  8.         x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
  9.         print(x,i)   #[b]这句话是我自己加的[/b]
  10.     i += 1

  11. if flag == 1:
  12.     print('阶梯数是:', x)
  13. else:
  14.     print('在程序限定的范围内找不到答案!')
复制代码

输出结果如下:
  1. >>>
  2. 14 1
  3. 21 2
  4. 28 3
  5. 35 4
  6. 42 5
  7. 49 6
  8. 56 7
  9. 63 8
  10. 70 9
  11. 77 10
  12. 84 11
  13. 91 12
  14. 98 13
  15. 105 14
  16. 112 15
  17. 119 16
  18. 阶梯数是: 119
复制代码

我想知道当满足条件后,是怎么跳出循环的,因为当i=46 的时候 x = 329 同样满足所求台阶数的条件,为什么不继续循环了呢
最佳答案
2018-2-8 10:19:25
因为
当i满足条件后,if条件永远为真(x不再被修改),所以不会再次进入else循环,直到i超过100
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-2-8 10:19:25 | 显示全部楼层    本楼为最佳答案   
因为
当i满足条件后,if条件永远为真(x不再被修改),所以不会再次进入else循环,直到i超过100
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-8 10:30:29 | 显示全部楼层
BngThea 发表于 2018-2-8 10:19
因为
当i满足条件后,if条件永远为真(x不再被修改),所以不会再次进入else循环,直到i超过100

多谢啦,明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-7 11:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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