java基础
java求水仙花数
水仙花数:数字的每一位的3次幂和等于数字本身
public static void main(String[] args) {
getNarcissus(1,1000);
}
private static void getNarcissus(int start, int end){
if(start < 0 || end < start)
return;
for(int i = start; i < end; i ++){
String strNum = i + "";
int[] numArr = splitNum(i,strNum.length());
int narcissus = 0;
for(int j = 0; j < numArr.length; j++){
narcissus += Math.pow(numArr[j],3);
}
if(i == narcissus){
System.out.println("narcissus:" + narcissus);
}
}
}
public static int[] splitNum(int num,int length){
int [] numArr = new int[length];
for(int i = length - 1,j = 0; i >= 0; i --,j++){
if(i == 0){
numArr[j] = num % 10;
break;
}
numArr[j] = (num / ((int)Math.pow(10,i))) % 10;
}
return numArr;
}