水仙花數(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ù)。