找出三位数的水仙花数,用Python写
时间: 2024-02-16 14:33:56 浏览: 63
水仙花数指的是一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。
例如,153 是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
以下是 Python 代码来找出所有的三位数的水仙花数:
```python
for i in range(100, 1000):
# 获取百位、十位和个位上的数字
hundred = i // 100
ten = (i // 10) % 10
one = i % 10
# 判断是否为水仙花数
if i == hundred**3 + ten**3 + one**3:
print(i)
```
输出结果为:
```
153
370
371
407
```
相关问题
求出所有三位数的水仙花数python代码
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。比如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。以下是使用Python编写的一个简单程序,用于找出所有的三位水仙花数:
```python
def is_armstrong_number(num):
# 将数字转换为字符串以便取每一位
str_num = str(num)
length = len(str_num)
# 计算每一位的立方和
sum_of_cubes = sum(int(digit) ** length for digit in str_num)
return num == sum_of_cubes
# 遍历所有三位数并检查是否为水仙花数
armstrong_numbers = []
for i in range(100, 1000): # 从100到999
if is_armstrong_number(i):
armstrong_numbers.append(i)
# 输出结果
print("所有的三位水仙花数有:")
for number in armstrong_numbers:
print(number)
用python找出三位数中的所有水仙花数。 水仙花数指-个三位数各位数字的三次方之和等于这个数本身。 要求: 将所有的水仙花数放在一个列表中,在控制台打印输出这个列
表。
代码如下:
```python
narcissistic_numbers = [] # 定义一个列表,用于存储水仙花数
for i in range(100, 1000): # 遍历所有的三位数
digit1 = i // 100 # 获取百位数字
digit2 = (i // 10) % 10 # 获取十位数字
digit3 = i % 10 # 获取个位数字
if i == digit1 ** 3 + digit2 ** 3 + digit3 ** 3: # 判断是否为水仙花数
narcissistic_numbers.append(i) # 将水仙花数添加到列表中
print(narcissistic_numbers) # 打印输出水仙花数列表
```
输出结果如下:
```
[153, 370, 371, 407]
```
阅读全文