有没有大佬帮我看一下我写的哪里错了?
编写一个程序,求 100~999 之间的所有水仙花数。如果一个 3 位数等于其各位数字的立方和, 则称这个数为水仙花数。 例如: 153
= 1^3 + 5^3 + 3^3 ,因此 153 就是一个水仙花数
for i in range(100,1000):
x = i \\ 100
y = i \\ 10
z = i % 10
if i == x ** 3 + y ** 3 + z ** 3:
print(i) 153//10 = 15
是 \\ 吗? for x in range(1, 10):
for y in range(0, 10):
for z in range(0,10):
if x ** 3 + y ** 3 + z **3 == 100 * x + 10 * y + z:
print(100 * x + 10 * y + z) 你y那里搞错了
for i in range(100,1000):
x = i//100
y = i//10%10
z = i % 10
if x ** 3 + y ** 3 + z ** 3==i:
print(i) 邹海霞 发表于 2020-2-14 15:46
你y那里搞错了
for i in range(100,1000):
x = i//100
然后整除符号是//不是\\ 最后的魁拔 发表于 2020-2-14 13:43
153//10 = 15
第二行就错了 你能帮我看看什么错误吗 你的问题:
1、第二行:整除是//,不是\\
2、第三行:十位的算法是这样的:y = i % 100 // 10
这里有一篇计算水仙花数方法的博客,可以看看:https://blog.csdn.net/qq_41096460/article/details/80399934 y求错了,按照你的思路的话,y = i // 10 % 10。 zltzlt 发表于 2020-2-14 14:10
是 \\ 吗?
感谢! Sungne_jer 发表于 2020-2-14 16:16
你的问题:
1、第二行:整除是//,不是\\
2、第三行:十位的算法是这样的:y = i % 100 // 10
感谢! endifz 发表于 2020-2-14 15:25
for x in range(1, 10):
for y in range(0, 10):
for z in range(0,10):
感谢 邹海霞 发表于 2020-2-14 15:46
你y那里搞错了
for i in range(100,1000):
x = i//100
感谢! 邹海霞 发表于 2020-2-14 15:49
然后整除符号是//不是\\
感谢!
页:
[1]