用java语言编写水仙花数 输入一个三位数n,输出所有小于等于n的水仙花数。 输入一个三位数n 输出所有小于等于n的水仙花数。每行一个符合条件的水仙花数 不能有语法错误
时间: 2024-10-13 15:16:27 浏览: 31
在 Java 中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。下面是用 Java 编写的程序来找出并打印所有小于等于给定整数 n 的水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int n = 100; // 可以替换成用户输入或其他数值
for (int i = 100; i <= n; i++) { // 遍历从100到n的所有三位数
if (isNarcissistic(i)) { // 检查每个数是否是水仙花数
System.out.println(i); // 打印符合条件的数
}
}
}
// 水仙花数判断函数
private static boolean isNarcissistic(int num) {
String number = String.valueOf(num);
int sum = 0;
for (char digit : number.toCharArray()) {
sum += Character.getNumericValue(digit) * Character.getNumericValue(digit) * Character.getNumericValue(digit);
}
return sum == num;
}
}
```
在这个程序中,`main` 函数会遍历指定范围内的三位数,`isNarcissistic` 函数则用于检查一个数是否是水仙花数。如果输入值 `n` 超过 999,则需要修改 `for` 循环条件。
阅读全文