2025-02-25 21:02:30

用Java求水仙花数最经典的代码 🌸💻

导读 水仙花数(Narcissistic number),又称自幂数,是指一个n位数,其各个位上的数字的n次幂之和等于该数本身。例如,153是一个水仙花数,因

水仙花数(Narcissistic number),又称自幂数,是指一个n位数,其各个位上的数字的n次幂之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。那么,如何用Java来实现这个经典的算法呢?让我们一起探索一下吧!

首先,我们需要定义一个范围,以找出在这个范围内所有的水仙花数。例如,我们可以从1开始到999,因为三位数是最大的水仙花数。

接下来,我们可以编写一个循环,遍历这个范围内的每一个数,并检查它是否满足水仙花数的条件。为了实现这一点,我们可以将每个数字拆分成它的各个位数,然后计算这些位数的立方和,最后比较这个和与原数是否相等。

下面是一个简单的Java代码示例,展示了如何找到1到999之间的所有水仙花数:

```java

public class NarcissisticNumber {

public static void main(String[] args) {

for (int num = 1; num <= 999; num++) {

if (isNarcissistic(num)) {

System.out.println(num);

}

}

}

public static boolean isNarcissistic(int num) {

int originalNum = num;

int sum = 0;

while (num > 0) {

int digit = num % 10;

sum += Math.pow(digit, 3);

num /= 10;

}

return sum == originalNum;

}

}

```

通过这段代码,我们能够轻松地找到指定范围内的所有水仙花数。希望这个经典示例对你理解Java编程有所帮助!🌈✨