用java打印出100~1000范围的水仙花数
时间: 2023-07-12 10:22:19 浏览: 102
好的,下面是Java代码实现:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 1000; i++) {
int sum = 0;
int temp = i;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == i) {
System.out.print(i + " ");
}
}
}
}
```
运行结果为:
```
153 370 371 407
```
相关问题
打印出100~1000范围内所有水仙花数Java代码
当然,Java代码可以使用嵌套循环来找到100至1000范围内的水仙花数。这是一种基本的算法,通过逐个检查每个三位数并计算其各位数字立方和来进行判断。以下是相应的代码示例:
```java
public class Main {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int hundreds = i / 100;
int tens = (i % 100) / 10;
int ones = i % 10;
// 计算各位立方和
int cubeSum = hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones;
// 检查是否为水仙花数
if (cubeSum == i) {
System.out.println(i);
}
}
}
}
```
这段代码会打印出所有的水仙花数,例如153, 370, 371等。
用java语言编写打印出100~1000范围内的所有水仙花数
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。以下是用Java编写的程序打印出100~1000范围内的所有水仙花数:
```
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 1000; i++) {
int hundredsDigit = i / 100;
int tensDigit = (i / 10) % 10;
int unitsDigit = i % 10;
if (hundredsDigit * hundredsDigit * hundredsDigit + tensDigit * tensDigit * tensDigit + unitsDigit * unitsDigit * unitsDigit == i) {
System.out.println(i);
}
}
}
}
```
在这个程序中,我们使用了一个 for 循环来遍历 100~1000 范围内的所有三位数。然后,我们将每个三位数拆分成它的百位数、十位数和个位数,并将其保存在变量 hundredsDigit、tensDigit 和 unitsDigit 中。接下来,我们使用一个 if 语句来检查当前的三位数是否为水仙花数,如果是就打印出来。
阅读全文