鱼C论坛

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

[已解决]程序怎么跑不出结果来

[复制链接]
发表于 2020-11-24 21:05:42 | 显示全部楼层 |阅读模式

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

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

x
编写一个程序,求 100~999 之间的所有水仙花数。
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数
1.        for i in range(100, 1000):
2.            sum = 0
3.            temp = i
4.            while temp:
5.                sum = sum + (temp%10) ** 3
6.                temp //= 10         # 注意这里要使用地板除哦~
7.            if sum == i:
8.                print(i)


我自己写的程序怎么跑不出结果来呀,程序卡住了,求大神指教:
for i in range(100,1000):
    sum = 0
    while True:
        sum += (i % 10 )**3
        i //= 10
    if sum == i:
        print(i)
最佳答案
2020-11-24 21:15:15
for i in range(100,1000):
    sum = 0
    temp=i
    while temp:  #这里如果时true的话,直接死循环,出不来结果的 ,改成temp
        #之所以循环内用temp而不用i,是因为temp在每次循环的时候值时变化的,而i要用于最后的判断,不能变
        sum += (temp % 10 )**3
        temp //= 10
    if sum == i:
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-24 21:11:58 | 显示全部楼层
本帖最后由 jackz007 于 2020-11-24 21:17 编辑
for i in range(100,1000):
    sum = 0
    while True:               # 这里是死循环
        sum += (i % 10 )**3
        i //= 10              # i 不可以改变,因为后面还有用
    if sum == i:              # 这里还要用到 i 所以,前面不可以修改
        print(i)
        改为下面这样就可以了
for i in range(100,1000):
    sum = 0
    temp = i
    while temp:
        sum += (temp % 10 ) ** 3
        temp //= 10
    if sum == i: 
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-24 21:15:15 | 显示全部楼层    本楼为最佳答案   
for i in range(100,1000):
    sum = 0
    temp=i
    while temp:  #这里如果时true的话,直接死循环,出不来结果的 ,改成temp
        #之所以循环内用temp而不用i,是因为temp在每次循环的时候值时变化的,而i要用于最后的判断,不能变
        sum += (temp % 10 )**3
        temp //= 10
    if sum == i:
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-24 21:16:50 | 显示全部楼层
jackz007 发表于 2020-11-24 21:11
改为下面这样就可以了

老哥,这个是死循环吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 14:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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