溫馨提示×

java中水仙花數(shù)的代碼如何寫

小億
115
2024-04-26 21:56:46
欄目: 編程語言

水仙花數(shù)(Narcissistic number)是指一個(gè)n位數(shù)(n>=3),它的每個(gè)位上的數(shù)字的n次冪之和等于它本身。例如,153是一個(gè)水仙花數(shù),因?yàn)?^3 + 5^3 + 3^3 = 153。

以下是Java中判斷一個(gè)數(shù)是否為水仙花數(shù)的代碼:

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方法接受一個(gè)整數(shù)作為參數(shù),然后計(jì)算該整數(shù)的每個(gè)位上數(shù)字的n次冪之和,最后判斷是否等于原始數(shù)值。main方法中調(diào)用isNarcissisticNumber方法并輸出結(jié)果。

你可以將其他整數(shù)傳遞給isNarcissisticNumber方法來測試是否為水仙花數(shù)。

0