/**
* 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
*
*/
public class 水仙花 {
public static void main(String[] agrs){
int i,j,k;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)
System.out.println(i*100+j*10+k);
}
}
以下是使用python的一种方法
result = []
for x in range(1, 10):
for y in range(0, 10):
for z in range(0, 10):
n = x * 100 + y * 10 + z
if n == x ** 3 + y ** 3 + z ** 3:
result.append(n)
print result