阅读量:0
水仙花数(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
方法来测试是否为水仙花数。