|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数
for i in range(100, 1000):
sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10
if sum == i:
print(i)
没有明白 while temp:
sum = sum + (temp%10) ** 3
temp //= 10
为什么要这样做,这一段的意思有哪位老师能帮我讲解一下谢谢了。
其实一道题可以有好几种解法,如果你那样看感觉看不懂,换个思路就好理解很多。刚刚楼上已经给了你那个代码的解释,我就按照字面理解给个代码,估计一眼就能懂,其实殊途同归。
- for x in range(1,10):
- for y in range(10):
- for z in range(10):
- if x**3+y**3+z**3==x*100+y*10+z:
- print(x*100+y*10+z)
复制代码
|
|