所谓水仙花数就是指一个三位数其各个位上的数的立方之和等于这个数本身的数。
即:
153=1*1*1+5*5*5+3*3*3
每个位的表示方法:
在解决问题之前我们先要搞清楚如何表示这个三位数的每一位上的数字。
比如:
139:
1的表示方法:int hunders=139/100; //百位
3的表示方法:int decade=139/10-hunders*10 //十位
9的表示方法:int units=139%10; //个位
代码:
public class JavaDemo{
public static void main(String[] args){
for(int i=100;i<=999;i++){ //三位数: 100<=i<=999
int a=i/100;
int b=i/10-a*10;
int c=i%10;
int result=a*a*a+b*b*b+c*c*c;
if(result==i){
System.out.println(i);
}
}
}
}
结果: