Java

java中水仙花数的代码如何写

小亿
318
2024-04-26 21:56:46
栏目: 编程语言

水仙花数(Narcissistic number)是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

以下是Java中判断一个数是否为水仙花数的代码:

public class NarcissisticNumber {
    public static boolean isNarcissisticNumber(int number) {
        int sum = 0;
        int temp = number;
        int length = String.valueOf(number).length();
        
        while (temp > 0) {
            int digit = temp % 10;
            sum += Math.pow(digit, length);
            temp /= 10;
        }
        
        return sum == number;
    }
    
    public static void main(String[] args) {
        int number = 153;
        
        if (isNarcissisticNumber(number)) {
            System.out.println(number + " is a Narcissistic number.");
        } else {
            System.out.println(number + " is not a Narcissistic number.");
        }
    }
}

在上面的代码中,isNarcissisticNumber方法接受一个整数作为参数,然后计算该整数的每个位上数字的n次幂之和,最后判断是否等于原始数值。main方法中调用isNarcissisticNumber方法并输出结果。

你可以将其他整数传递给isNarcissisticNumber方法来测试是否为水仙花数。

0
看了该问题的人还看了