编写程序打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 输入格式: 三位数的水仙花数如下: 输出格式: 153 370 ….
时间: 2025-01-01 20:41:52 浏览: 23
为了编写程序打印所有三位的水仙花数,我们需要遍历999到100之间的每一个三位数,然后检查它们是否满足条件,即各个位上的数字立方和等于整个数。下面是使用Python编写的简单示例:
```python
# 定义一个函数来检查是否是水仙花数
def is_narcissistic_number(num):
# 将数字转换为字符串便于分割成每一位
str_num = str(num)
# 检查长度是否为3,如果不是则非水仙花数
if len(str_num) != 3:
return False
# 分割每一位数字并计算立方和
digit_sums = sum(int(digit) ** 3 for digit in str_num)
# 判断立方和是否等于原数
return digit_sums == num
# 遍历100到999,打印符合条件的水仙花数
for num in range(100, 1000):
if is_narcissistic_number(num):
print(num)
```
运行此程序会输出所有三位的水仙花数,如153, 370, 等等。
相关问题
编写程序输出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身
好的,这个问题属于数学问题。以下是程序代码:
#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 (n == i*i*i + j*j*j + k*k*k) {
printf("%d\n", n);
}
}
return 0;
}
程序输出的结果为:
153
370
371
407
这就是所有三位水仙花数的值。
2. 用python编写程序打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身
下面是用 Python 编写的程序,可以打印出所有的水仙花数:
```python
for i in range(100, 1000):
temp = i
sum = 0
while temp:
sum += (temp % 10) ** 3
temp //= 10
if sum == i:
print(i)
```
输出结果为:
```
153
370
371
407
```
这四个数就是所有的水仙花数。
阅读全文