编写程序实现以下功能:计算beg到end之间的所有水仙花数并输出(水仙花数是一个三位整数,其值与各位数字的立方和相等)。如果beg到end之间不存在水仙花数,则输出“not found”
时间: 2024-12-20 08:18:36 浏览: 1
编写一个程序来找出给定范围内的水仙花数,你可以使用循环遍历每个数字,并检查它是否满足水仙花数的条件。以下是Python的一个简单示例:
```python
def is_armstrong_number(n):
# 将数字转换为字符串以便获取每一位
str_n = str(n)
length = len(str_n)
# 计算各个位的立方和
sum_of_cubes = sum(int(char)**length for char in str_n)
# 检查是否等于原始数字
return n == sum_of_cubes
def find_water_lilies(beg, end):
water_lilies = []
for num in range(beg, end + 1):
if is_armstrong_number(num):
water_lilies.append(num)
if not water_lilies:
print("not found")
else:
print("Water lilies (水仙花数) between", beg, "and", end, "are:", water_lilies)
# 示例用法
find_water_lilies(100, 999)
```
在这个程序中,`is_armstrong_number`函数用于判断一个数字是否是水仙花数,而`find_water_lilies`函数则遍历指定范围内的所有数,找出并打印符合条件的水仙花数。
阅读全文