"水仙花数"。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如,153就是一水仙花数,因为153 = 1^3+5^3+3^3。请计算出1000以内所有的水仙花数,并逐行打印在屏幕上。 输出格式如下: 153 = 1*1*1 + 5*5*5 + 3*3*3
时间: 2024-03-26 10:38:30 浏览: 72
好的,以下是您需要的Java代码:
```
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int a = i / 100; // 百位数
int b = i / 10 % 10; // 十位数
int c = i % 10; // 个位数
if (a * a * a + b * b * b + c * c * c == i) {
System.out.printf("%d = %d*%d*%d + %d*%d*%d + %d*%d*%d\n", i, a, a, a, b, b, b, c, c, c);
}
}
}
}
```
运行程序后,会输出1000以内所有的水仙花数,并按照指定格式逐行打印在屏幕上。例如,输出结果包括:
```
153 = 1*1*1 + 5*5*5 + 3*3*3
370 = 3*3*3 + 7*7*7 + 0*0*0
371 = 3*3*3 + 7*7*7 + 1*1*1
407 = 4*4*4 + 0*0*0 + 7*7*7
```
希望能够帮助您!
相关问题
输出所有的“水仙花数”所谓“水仙花数”是指一个3位数其各位数字立方和等于该数本身。例如,153 是水仙花数因为15313十53+33。C语言
解答如下:
#include <stdio.h>
int main() {
int i, a, b, c;
for (i = 100; i < 1000; i++) {
a = i / 100;
b = (i / 10) % 10;
c = i % 10;
if (a * a * a + b * b * b + c * c * c == i) {
printf("%d\n", i);
}
}
return 0;
}
输出:
153
370
371
407
以上是所有的水仙花数。
输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数字本身。例如,153是一个水仙花数,因为
153 = 1^3 + 5^3 + 3^3。
请在下面的代码中更改范围来输出所有的水仙花数。
```python
for num in range(100, 1000):
# 分离出每一位数字
digits = [int(d) for d in str(num)]
if num == sum(d ** 3 for d in digits):
print(num)
```
阅读全文