请用java程序输出100到1000之间所有的“水仙花数”
时间: 2024-01-21 18:04:57 浏览: 96
当然可以,下面是Java代码实现:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int start = 100, end = 1000;
for (int i = start; i < end; i++){
int tmp = i;
int sum = 0;
while (tmp > 0){
int digit = tmp % 10;
sum += Math.pow(digit, 3);
tmp /= 10;
}
if (sum == i){
System.out.println(i + "是水仙花数");
}
}
}
}
```
在这段代码中,我们通过循环的方式遍历100到1000之间的数,然后在每个数中提取每个数字,计算出它们的立方和。如果计算出来的结果与原始数相等,则说明该数是水仙花数。
相关问题
用Java输出100-1000内的所有水仙花数
水仙花数是指一个n位数,其各位数字的n次幂之和等于该数本身。例如,一个3位数的水仙花数是指各位数字立方和等于该数本身的数,如153 = 1^3 + 5^3 + 3^3。
以下是使用Java语言编写的一个程序,用于输出100-1000内的所有水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
System.out.println("100-1000内的水仙花数有:");
for (int i = 100; i < 1000; i++) {
int ge = i % 10; // 个位数
int shi = i / 10 % 10; // 十位数
int bai = i / 100; // 百位数
if (Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3) == i) {
System.out.println(i);
}
}
}
}
```
当运行这个程序时,它会输出100到1000之间所有的水仙花数。
java编写程序输出所有水仙花数。水仙花数: abc = 输出: 所有的水仙花数如下所示: 153、370、371、407
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153,所以153就是一个水仙花数。以下是使用Java编写的简单程序,用于找出并输出所有的水仙花数:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
if (isNarcissistic(i)) {
System.out.println(i);
}
}
}
// 判断是否为水仙花数的函数
private static boolean isNarcissistic(int number) {
int sum = 0;
String numStr = Integer.toString(number);
for (char digit : numStr.toCharArray()) {
sum += Character.getNumericValue(digit) * Character.getNumericValue(digit) * Character.getNumericValue(digit);
}
return sum == number;
}
}
```
运行这个程序会输出:153, 370, 371, 407。
阅读全文