问题描述:水仙花数,一个三位数,其各位数字的3次方和等于该数本身。比如153 = 1^3 + 5^3 + 3^3
方法一:用三重循环
shuixianhua = []
for i in range(1,10):
for j in range(10):
for k in range(10):
if i**3 + j**3 + k**3 == i*100 + j*10 + k:
shuixianhua.append(100*i + 10*j + k)
print(shuixianhua)
方法二:
思路:首先我们需要把每个数取出来,然后再求立方和,看是不是等于原来的那个数。
然后怎么取出这三个数
1、个位 = x % 10
2、十位 = (x % 10)// 10
3、百位 = int( x // 100)
for n in range(100,1000):
i = n% 10
j = (n%100) // 10
k = int(n // 100)
if n == i**3 + j**3 + k**3:
print (n)
关键是把几个数之间的关系表示出来