(程序设计)三位水仙花数的计算。“三位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 =ABC。请按照从小到大的顺序输出所有的3位水仙花数,请用一个“逗号+空格”分隔输出结果。
时间: 2024-02-25 10:54:09 浏览: 25
好的,这是一个简单的程序设计问题。以下是代码实现:
```python
result = []
for num in range(100, 1000):
a = num // 100
b = (num // 10) % 10
c = num % 10
if a ** 3 + b ** 3 + c ** 3 == num:
result.append(str(num))
print(", ".join(result))
```
输出结果为:
```
153, 370, 371, 407
```
这些数字是 3 位水仙花数,它们的各位数字的立方和等于它们本身。
相关问题
输入一个三位整数,判断其是否为水仙花数
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153就是一个水仙花数,因为 $1^3+5^3+3^3=153$。
以下是Python代码实现:
```
num = int(input("请输入一个三位整数:"))
if num < 100 or num > 999:
print("输入有误!")
else:
a = num // 100
b = (num // 10) % 10
c = num % 10
if a**3 + b**3 + c**3 == num:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
运行程序后,输入一个三位整数,程序会判断该数是否为水仙花数并输出结果。
判断一个三位正整数N是否为水仙花数的C程序代码
下面是判断一个三位正整数是否为水仙花数的C程序代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int n;
printf("请输入一个三位正整数:");
scanf("%d", &n);
int a = n / 100; // 分解百位数
int b = n / 10 % 10; // 分解十位数
int c = n % 10; // 分解个位数
if (n == pow(a, 3) + pow(b, 3) + pow(c, 3)) {
printf("%d是水仙花数\n", n);
} else {
printf("%d不是水仙花数\n", n);
}
return 0;
}
```
说明:
水仙花数就是一个三位数,它的每个位上的数字的立方和等于它本身。例如:153就是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
该程序首先通过 `scanf` 函数读入一个三位正整数 `n`,然后将 `n` 分解成百位数 `a`、十位数 `b` 和个位数 `c`。接着使用 `pow` 函数计算出 `a^3 + b^3 + c^3` 的值,如果该值等于 `n`,则说明 `n` 是一个水仙花数,否则不是。最后使用 `printf` 函数输出结果。