用python语言实现水仙花数
什么是水仙花数?
- 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
第一种,while循环
- 程序分析:通过while循环列出1000以内所有三位数,然后通过取整数算出百位,减去百位,然后除以10化整减去个位算出十位,取余数算出个位,然后进行**3来验证是否水仙花数
i =100
while i<1000:
num1 = i // 100 # 百位
num2 = int((i-num1*100)/10) # 十位
num3 = i%10 #个位
# print(num2)
if num3 **3 +num2**3 +num1**3 ==i:
print(i)
i += 1
结果:
153
370
371
407
第二种for in 循环遍历
- 程序分析 利用for循环控制100-999个数,每个数分解出个位,十位,百位。
for i in range(100,1000):
s=str(i)
one=int(s[-1])
ten=int(s[-2])
hun=int(s[-3])
if i == one**3+ten**3+hun**3:
print(i)
153
370
371
407
网友评论