编写一个Java程序,用于统计在三位数中给定区间 [low, high] 内所有水仙花数(Narcissistic number)的个数。水仙花数是指一个n位数,其各个位上的数字的n次幂之和等于它本身
时间: 2025-02-17 15:21:37 浏览: 38
编写Java程序来统计指定范围内(low到high)的水仙花数,首先需要了解如何判断一个数是否是水仙花数。这里是一个简单的步骤:
1. 定义一个方法`isNarcissistic(int num)`,输入一个整数num,计算它的各位数字的三次幂之和,然后比较这个和是否等于原数。
```java
public boolean isNarcissistic(int num) {
int sum = 0;
String digits = String.valueOf(num);
for (char digit : digits.toCharArray()) {
sum += Math.pow(Integer.parseInt(String.valueOf(digit)), 3);
}
return sum == num;
}
```
2. 创建一个主函数`countNarcissists(int low, int high)`,遍历从low到high范围内的每个数,检查它们是否是水仙花数,并累加计数。
```java
public int countNarcissists(int low, int high) {
int count = 0;
for (int i = low; i <= high; i++) {
if (isNarcissistic(i)) {
count++;
}
}
return count;
}
```
3. 最后,在main函数中调用`countNarcissists`并打印结果。
```java
public static void main(String[] args) {
int startRange = 100; // 设置起始范围
int endRange = 999; // 设置结束范围
int narcissisticCount = countNarcissists(startRange, endRange);
System.out.println("在区间 [" + startRange + ", " + endRange + "]内有 " + narcissisticCount + " 个水仙花数.");
}
```
当你运行这段代码,它将输出指定范围内水仙花数的数量。如果你想要运行这个程序,可以直接复制上述代码到一个名为`Water Narcissist.java`的文件中,并通过javac编译运行它。
阅读全文
相关推荐
















