用java编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。所谓 的水仙花数是:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。
时间: 2024-02-05 16:10:32 浏览: 125
the_sum_of_prime.zip_The Prime
以下是用 Java 编写的程序,可以求解题目所述的问题:
```java
import java.util.Scanner;
public class NarcissisticNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数N(N大于等于100小于等于999): ");
int n = scanner.nextInt();
scanner.close();
System.out.print("100~" + n + "之间的水仙花数有: ");
for (int i = 100; i <= n; i++) {
int x = i / 100; // 百位数
int y = (i / 10) % 10; // 十位数
int z = i % 10; // 个位数
if (i == x * x * x + y * y * y + z * z * z) {
System.out.print(i + " ");
}
}
}
}
```
程序运行时,会提示用户输入一个正整数 N,然后会计算出 100~N 之间所有的水仙花数,并输出结果。程序中使用了 for 循环来遍历 100~N 之间的所有三位数,使用了 x、y、z 三个变量来分别表示这个三位数的百位、十位、个位数字,然后根据水仙花数的定义来判断该数是否是水仙花数,如果是,则将该数输出。
阅读全文