温馨提示×

java如何打印水仙花数

小亿
82
2024-09-03 05:12:51
栏目: 编程语言

水仙花数是指一个 n 位数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。

要在 Java 中打印水仙花数,你可以使用以下代码:

public class Main {
    public static void main(String[] args) {
        for (int i = 100; i <= 999; i++) {
            if (isNarcissisticNumber(i)) {
                System.out.println(i);
            }
        }
    }

    public static boolean isNarcissisticNumber(int num) {
        int originalNum = num;
        int sum = 0;
        int numOfDigits = String.valueOf(num).length();

        while (num != 0) {
            int digit = num % 10;
            sum += Math.pow(digit, numOfDigits);
            num /= 10;
        }

        return sum == originalNum;
    }
}

这段代码首先定义了一个 isNarcissisticNumber 函数,用于判断一个整数是否为水仙花数。然后,我们遍历 100 到 999 之间的所有整数,并使用 isNarcissisticNumber 函数检查它们是否为水仙花数。如果是,则将其打印出来。

0