python求所有水仙花数
时间: 2024-10-13 17:12:14 浏览: 39
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
在Python中,可以编写一个函数来检查所有的三位数是否为水仙花数。下面是一个简单的示例:
```python
def is_armstrong_number(num):
# 将数字转换为字符串以便获取每一位
num_str = str(num)
length = len(num_str)
# 如果不是三位数,直接返回False
if length != 3:
return False
# 计算每个位数的立方和
sum_of_cubes = sum(int(digit) ** 3 for digit in num_str)
# 检查是否相等
return sum_of_cubes == num
# 遍历范围内的所有三位数
for i in range(100, 1000): # 因为最大的三位数是999
if is_armstrong_number(i):
print(f"{i} 是一个水仙花数")
相关问题
python 求所有水仙花数。水仙花数是指一个 3位数,它的每个位上的数字的3次幂之和等于它本身。
以下是Python代码实现打印100到999之间的所有水仙花数:
```python
for i in range(100, 1000):
num = str(i)
sum = 0
for j in num:
sum += int(j) ** 3
if sum == i:
print(i)
```
运行结果为:
```
153
370
371
407
```
用python求所以水仙花数
在Python中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
你可以编写一个简单的函数来检查一个数是否是水仙花数。下面是一个例子:
```python
def is_armstrong_number(n):
# 将输入转换为字符串以获取每一位
str_n = str(n)
length = len(str_n)
# 计算每一位的立方和
sum_of_cubes = sum(int(digit) ** length for digit in str_n)
# 检查是否等于原数
return n == sum_of_cubes
# 查找并打印出所有三位内的水仙花数
for num in range(100, 1000): # 我们通常只关心三位数
if is_armstrong_number(num):
print(f"{num} 是一个水仙花数")
```
运行此程序会找出所有的水仙花数。如果你想要改变范围,只需调整`range()`函数中的起始和结束值即可。
阅读全文