水仙花数指的是 一个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