此题目较简单,主要需要搞清楚什么叫做水仙花数。
水仙花数是指一个 n 位数,它的每个位上的数字的 n次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153,这就是一个三位的水仙花数)
搞清楚了水仙花数的定义,那么此题就迎刃而解了。参考代码如下:
public void findNum(){
int h=0,t=0,d=0,sum=0;
for(int i=100;i<=999;i++){
h=i/100;
t=(i-h*100)/10;
d=i-h*100-t*10;
sum=(int) (Math.pow(h, 3)+Math.pow(t, 3)+Math.pow(d, 3));
if(sum==i){
System.out.println(i);
}
}
}