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

848
2024/5/11 21:56:46
栏目: 编程语言
开发者测试专用服务器限时活动,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方法来测试是否为水仙花数。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: redis可视化工具哪个好用