java水仙花数算法
时间: 2024-09-14 07:09:19 浏览: 37
Java求10到100000之间的水仙花数算法示例
水仙花数是指一个n位数,其各位数字的n次方之和等于该数本身。例如,一个三位数的水仙花数就是各个位上的数字的立方和等于该数本身,如153(1^3 + 5^3 + 3^3 = 153)。在Java中编写一个算法来找出所有三位数的水仙花数,可以遵循以下步骤:
1. 初始化一个循环,从100开始,因为水仙花数至少是三位数,到999结束,因为这是三位数的最大值。
2. 对于循环中的每个数,计算出其各个位上的数字。
3. 分别计算这些数字的三次方,并求和。
4. 判断计算出的立方和是否等于原始的数,如果相等,则输出这个数。
以下是一个简单的Java程序示例:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
System.out.println("三位数的水仙花数有:");
for (int i = 100; i < 1000; i++) {
int hundred = i / 100; // 百位数
int ten = (i / 10) % 10; // 十位数
int one = i % 10; // 个位数
if (Math.pow(hundred, 3) + Math.pow(ten, 3) + Math.pow(one, 3) == i) {
System.out.println(i);
}
}
}
}
```
阅读全文