用python编写一个程序,打印输出所有水仙花数。
时间: 2023-05-31 19:01:53 浏览: 91
水仙花数指一个三位数,其各位数字立方和等于该数本身。例如153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是用Python编写的程序,可以输出所有水仙花数:
```python
for i in range(100, 1000):
# 获取百位数、十位数、个位数
b = i // 100
s = (i // 10) % 10
g = i % 10
# 判断是否为水仙花数
if b ** 3 + s ** 3 + g ** 3 == i:
print(i)
```
程序中使用了一个for循环,遍历所有三位数。然后使用整除和取余运算获取百位数、十位数和个位数。最后判断是否为水仙花数,如果是则输出。
相关问题
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个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
```
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
```
这四个数就是所有的水仙花数。
阅读全文