鱼C论坛

 找回密码
 立即注册
查看: 2931|回复: 5

[已解决]小甲鱼006讲 求阶梯至少有多少阶?的疑问

[复制链接]
发表于 2018-12-24 01:35:31 | 显示全部楼层 |阅读模式

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

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

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

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

我就想知道,whle i <=100: 中的100 是怎么得来的

i 变量   也给我一种似懂非懂的感觉。

还请大神们指导指导
最佳答案
2018-12-24 07:45:57
本帖最后由 heidern0612 于 2018-12-24 08:36 编辑

从 x = 7*(i+1)这里可以看出,i就是7的倍数而已

while循环的意思就是:

   当测试x =7的时候,如果满足if条件,flag = 1 ,打印x;不满足的话 x = 7*(1+1) = 14 ,i自增1;

   当测试x =14的时候,如果满足if条件,flag = 1 ,打印x;不满足的话,x = 7*(2+1) = 21, i 自增1;

   当测试x =21的时候,如果满足if条件,flag = 1 ,打印x;不满足的话,x = 7*(3+1) = 28, i 自增1;

    以下循环……

    一直循环到i 为101, x = 707的时候,while跳出循环。

      
    while i <=100,只是随便给i做了个限制,也就是要求在707之内求这个数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-24 03:57:29 | 显示全部楼层
本帖最后由 凌九霄 于 2018-12-24 04:21 编辑

实际上i>=17的任何一个数都可以,不会影响结果。其实符合这样条件的数有很多个,你也可以修改下程序找出多个答案。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-24 07:45:57 | 显示全部楼层    本楼为最佳答案   
本帖最后由 heidern0612 于 2018-12-24 08:36 编辑

从 x = 7*(i+1)这里可以看出,i就是7的倍数而已

while循环的意思就是:

   当测试x =7的时候,如果满足if条件,flag = 1 ,打印x;不满足的话 x = 7*(1+1) = 14 ,i自增1;

   当测试x =14的时候,如果满足if条件,flag = 1 ,打印x;不满足的话,x = 7*(2+1) = 21, i 自增1;

   当测试x =21的时候,如果满足if条件,flag = 1 ,打印x;不满足的话,x = 7*(3+1) = 28, i 自增1;

    以下循环……

    一直循环到i 为101, x = 707的时候,while跳出循环。

      
    while i <=100,只是随便给i做了个限制,也就是要求在707之内求这个数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-24 10:30:30 | 显示全部楼层
本帖最后由 凌九霄 于 2018-12-24 10:36 编辑
heidern0612 发表于 2018-12-24 07:45
从 x = 7*(i+1)这里可以看出,i就是7的倍数而已。

while循环的意思就是:


i非7的倍数,x才是。
在本代码中i能到101,但x不会到707,它始终停留在119,代码其实走了很多不必要的循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-24 10:43:15 | 显示全部楼层
凌九霄 发表于 2018-12-24 10:30
i非7的倍数,x才是。
在本代码中i能到101,但x不会到707,它始终停留在119,代码其实走了很多不必要的 ...

感谢补充, 实际上x是7的倍数,i更确切的说应该是7的相乘系数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-20 18:49:20 | 显示全部楼层
请问为什么是x = 7 * (i+1),而不是x = 7 * i
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 06:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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