编制java程序,打印出100~10000中所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153是一个“水仙花数”,因为153 = 1³十5³十3³ 。
时间: 2024-09-25 07:15:29 浏览: 48
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
在Java中,我们可以编写一个循环程序来找出100到10000之间的所有“水仙花数”。以下是一个简单的示例代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int num = 100; num <= 10000; num++) {
if (isNarcissistic(num)) {
System.out.println(num);
}
}
}
// 判断是否为水仙花数的函数
public static boolean isNarcissistic(int number) {
int百位 = number / 100;
int十位 = (number % 100) / 10;
int个位 = number % 10;
return number == calculateSumOfCubes(bil位, 十位, 个位);
}
// 计算三位数各位数字立方和的辅助函数
public static int calculateSumOfCubes(int a, int b, int c) {
return Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3);
}
}
```
这个程序首先定义了一个主函数`main`,然后遍历100到10000的所有整数,如果发现某个数满足“水仙花数”的条件,就调用`isNarcissistic`函数判断并打印出来。
`isNarcissistic`函数通过计算输入数字的每位数字立方和并与原数比较来确定它是否是水仙花数。`calculateSumOfCubes`函数用于计算和返回三个数字的立方和。
阅读全文