编写一个打印所有水仙花数的程序,所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身
时间: 2023-08-29 16:12:19 浏览: 78
下面是一个 Python 程序,用于打印出所有的水仙花数:
```python
for i in range(100, 1000):
# 将数字转换为字符串并计算每个数字的3次幂之和
sum_of_cubes = sum(int(digit) ** 3 for digit in str(i))
if i == sum_of_cubes:
print(i)
```
在这个程序中,我们使用 `range(100, 1000)` 生成所有的3位数。对于每个数字,我们将其转换为字符串并计算每个数字的3次幂之和。如果该和等于原始数字,则打印该数字。输出结果为:
```
153
370
371
407
```
相关问题
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。 (1)水仙花数是一个三位数:111333456999530 (2)水仙花数的个位、十位、百位的数字立方和等于原数请用python编写一个程序,打印输出所有水仙花数。
以下是Python代码:
```python
for i in range(100, 1000):
# 获取百位、十位、个位数字
a = i // 100
b = (i // 10) % 10
c = i % 10
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == i:
print(i)
```
输出结果为:
```
153
370
371
407
```
输出3位数的水仙花数。编写程序,输出100-1000之间的水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。 (格式提示:每行输出一个水仙花数)
好的,这是一个编程问题,以下是Python代码实现:
```python
for i in range(100, 1000):
# 将数字转为字符串,再将每个字符转为数字
a, b, c = map(int, str(i))
# 如果满足水仙花数的条件,则输出
if i == a**3 + b**3 + c**3:
print(i)
```
输出结果如下:
```
153
370
371
407
```
阅读全文