鱼C论坛

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

[已解决]希望大神帮下忙,关于第六课练习题的问题

[复制链接]
发表于 2016-7-5 18:43:48 | 显示全部楼层 |阅读模式

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

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

x
有一道题,大意是:有一节长阶梯每步2阶会剩1阶,每步3阶剩2阶,每步5阶剩4阶,每步6阶剩5阶,每步7阶刚好不剩,求一共有多少阶楼梯,我的思路是这样的(下面第一种),但我run之后却没有输出,不知道这是为什么。。。。求解答

x = 7     #x是阶梯层数的变量(且x永远是7的倍数)
flag = 0  #flag是是否满足条件的变量
i = 1     #i是参数

while i <= 100:

if (x % 2 == 1) and (x % 3 == 2) and (x % 5 == 4) and (x % 6 == 5):
        flag = 1
    else:
        i += 1
    x = 7 * i

if flag == 1:
    print("楼梯的阶数为:",x)
else:
    print("no")

参考答案是这样的,我发现 第一个else后面的两条我写反了,但是当我查看后却发现我的思路【似乎】也行得通,不知道是为什么...

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('在程序限定的范围内找不到答案!')
最佳答案
2016-7-6 10:40:42
wstxh 发表于 2016-7-6 10:39
我怎么运行你的程序行不通,会因为你的程序中如果出现了满足要求的i就会进入死循环。

因为遇到满足要求的x的时候就不会执行第一个else里面的程序,从而i不会自增,就进入死循环了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-6 10:39:10 | 显示全部楼层
我怎么运行你的程序行不通,会因为你的程序中如果出现了满足要求的i就会进入死循环。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-6 10:40:42 | 显示全部楼层    本楼为最佳答案   
wstxh 发表于 2016-7-6 10:39
我怎么运行你的程序行不通,会因为你的程序中如果出现了满足要求的i就会进入死循环。

因为遇到满足要求的x的时候就不会执行第一个else里面的程序,从而i不会自增,就进入死循环了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-6 14:05:04 | 显示全部楼层
wstxh 发表于 2016-7-6 10:40
因为遇到满足要求的x的时候就不会执行第一个else里面的程序,从而i不会自增,就进入死循环了

...........应该就是这样的,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-21 14:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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