打印出10000 以内所有的“水仙花数”。所谓“水仙花数”是指一个N位数,其各位数字立方和等于该数本身。例 如:153 是一个“水仙花数”,因为 153 = 1 的三次方+5 的三次方。
int num1=0;
int num2=0;
int num3=0;
int num4=0;
for(int num=1;num<9999;num++){
num1=num%10;
num2=num/10%10;
num3=num/100%10;
num4=num/1000%10;
Double A=Math.pow(num1,1);
Double B=Math.pow(num1,2)+Math.pow(num2,2);
Double C=Math.pow(num1,3)+Math.pow(num2,3)+Math.pow(num3,3);
Double D=Math.pow(num1,4)+Math.pow(num2,4)+Math.pow(num3,4)+Math.pow(num4, 4);
if(A==num||B==num||C==num||D==num){
System.out.println(num);
}
}
1
2
3
4
5
6
7
8
9
153
370
371
407
1634
8208
9474