求助帖
for i in range(100,1000):count = i
sum = 0
while count:
x = count//100
y = (count % 100)//10
z = (count%100)%10
sum = (x**3)+(y**3)+(z**3)
if sum==i:
print(i)
各位鱼油,用这个程序求100到1000的水仙花数为什么不行?哪里出问题了? 去掉while循环,直接把x,y,z运算放在for循环下 冬雪雪冬 发表于 2021-9-29 15:27
去掉while循环,直接把x,y,z运算放在for循环下
为什么加了while就不行了呢 迟早要暴富 发表于 2021-9-29 16:02
为什么加了while就不行了呢
for i in range(100, 1000):
sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10 # 注意这里要使用地板除哦~
if sum == i:
print(i)
这个为什么可以运行啊 你的程序count一直没有改变,所以while循环无法结束
后面的程序temp在每次循环都有变化,最终为0 本帖最后由 jackz007 于 2021-9-29 16:43 编辑
for i in range(100,1000):
x = count // 100
y = (count % 100) // 10
z = count % 10
sum = (x**3)+(y**3)+(z**3)
if sum == i:
print(i) 冬雪雪冬 发表于 2021-9-29 16:14
你的程序count一直没有改变,所以while循环无法结束
后面的程序temp在每次循环都有变化,最终为0
明白了,非常感谢
页:
[1]