“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
我在这里创建了两个方法,第一个方法时求一个数的立方,第二个方法是将一个数,每一位上的数字提取出来,分别立方再求和,即为一个数各个位上的立方和(需要调用到第一个方法),具体实现的代码如下:
public class NarcyNum {
public static int cube(int num){
//求一个数的立方
int ret=1;
for(int i=1;i<=3;i++){
ret*=num;
}
return ret;
}
public static int sumCube(int num){
//求一个数,每一位上的立方和
int sum=0;
while(num>0){
int i=num%10;
sum+=cube(i);
num/=10;
}
return sum;
}
public static void main(String[] args) {
for(int num=0;num<1000;num++){
if(num==sumCube(num)&&num>99){
System.out.println(num);
}
}
}
}