# 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,
# 其各位数字立方和等于该数本身。例如:153是一个"水仙花数",
# 因为153=1的三次方+5的三次方+3的三次方。
方法一:先设定百位、十位、各位都是0~9中的一个数字,再利用循环查找的方法计算:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 for a in range(10): 2 for b in range(10): 3 for c in range(10): 4 n = a * 100 + b * 10 + c 5 if n == a**3+b**3+c**3: 6 if n!=0 and n!=1: 7 print(n)
方法二:利用取商和取余数的方法。a//b取商,a%b取余
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 for i in range(100,1000): 2 a = i//100 3 b = (i%100)//10 4 c = (i%100)%10 5 if a**3 + b**3 + c**3 == i : 6 print(i)