帮我写一个生成水仙花数的代码
时间: 2024-10-17 16:05:38 浏览: 20
水仙花数是一个三位数,其各位数字立方和等于该数本身。例如,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)
# 如果和等于原数,则返回True,否则False
return num == sum_of_cubes
def generate_armstrong_numbers(start, end):
armstrongs = []
for num in range(start, end+1):
if is_armstrong_number(num):
armstrongs.append(num)
return armstrongs
# 使用范围生成水仙花数
start = 100
end = 999
armstrong_numbers_in_range = generate_armstrong_numbers(start, end)
print("水仙花数在{}到{}之间有:".format(start, end))
for num in armstrong_numbers_in_range:
print(num)
阅读全文