|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
i=100
sum=0
while(i<1000):
b=i//100
s=(i-b)//10
g=i%10
sum=b**3+s**3+g**3
if (i==sum):
print(i,'是水仙花数')
i+=1
print('游戏结束')
请各位大佬帮我看看这个水仙花的代码哪里不对,我运行出来直接结束了。题目:编写一个程序,求100~999 之间的所有水仙花数。如果一个3 位数等于其各位数字的立方和, 则称这个数为水仙花数。例如:153= 1^3 + 5^3 + 3^3 ,因此153 就是一个水仙花数
谢谢大家
写到注释里了
- i=100
- sum=0
- while(i<1000):
- b=i//100 #这里得到的b是百位数,但仅仅是一位数,不是三位数,例如:i为371,那么b为3
- s=(i-b*100)//10 #这里写错了,b是百位数,需要乘100,即s=(371-3*100)//10
- g=i%10
- sum=b**3+s**3+g**3
- if (i==sum):
- print(i,'是水仙花数')
- i+=1
- print('游戏结束')
复制代码
|
|