编写程序实现:输出所有的“水仙花数”,所谓“水仙花数”是指一个 3 位数, 其各位数字立方和等于该数本身。
时间: 2023-12-03 11:56:28 浏览: 80
```python
for num in range(100, 1000):
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
if num == digit1**3 + digit2**3 + digit3**3:
print(num)
```
输出结果:
```
153
370
371
407
```
相关问题
题目:python编写函数fun:判断一个三位数是否“水仙花数”。 编程实现输出所有的水仙花数。 说明:所谓“水仙花数”是指一个3位数,其各位数字立方和 等于该数本身。 例如:153是一个水仙花数,因为153=1+125+27。 输出样例: 153 370 371 407
可以按照题目要求,编写如下的函数和程序。
```python
# 判断一个三位数是否水仙花数
def isNarcissisticNumber(num):
# 将数字转换为字符串,方便获取每一位数字
num_str = str(num)
# 获取每一位数字
a = int(num_str[0])
b = int(num_str[1])
c = int(num_str[2])
# 判断是否为水仙花数
if num == a ** 3 + b ** 3 + c ** 3:
return True
else:
return False
# 输出所有的水仙花数
for i in range(100, 1000):
if isNarcissisticNumber(i):
print(i, end=' ')
```
运行结果为:
```
153 370 371 407
```
用c语言编写程序:输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和 等于该数本身。例如,153是一水仙花数,因为153=13 +53 +33。
好的,这个问题可以回答。下面是C语言程序的代码:
#include <stdio.h>
int main()
{
int i, j, k, n;
for (n = 100; n < 1000; n++) {
i = n / 100;
j = (n % 100) / 10;
k = n % 10;
if (i*i*i + j*j*j + k*k*k == n) {
printf("%d\n", n);
}
}
return 0;
}
输出结果为:
153
370
371
407
这些数字就是三位“水仙花数”。
阅读全文
相关推荐















