水仙花数指的是 一个n位数(n>=3),他的每个位上的数字的n次幂之和等于他的本身。(例如:1^3+5^3+3^3=153)
public static void main(String[] args) {
for(BigInteger number = new BigInteger("0"); true ;
number = number.add(new BigInteger("1"))){
BigInteger sumNumber = new BigInteger("0");
char[] digits = number.toString().toCharArray();
for(char digit : digits){
//利用Character.digit方法分别得到个十百千位的数
sumNumber = sumNumber.add(BigInteger.valueOf(Character.digit(digit, 10))
.pow(digits.length));
}
if(sumNumber.compareTo(number)==0){
System.out.println(number);
}
}
}
转载请注明原文地址: https://ju.6miu.com/read-675735.html