水仙花數(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
方法來測試是否為水仙花數。