找出给出范围内的水仙花数 python
时间: 2024-09-24 12:20:09 浏览: 39
在Python中,你可以使用循环和简单的数学运算来找出给定范围内的水仙花数。下面是一个示例函数,它接受一个范围作为输入,然后返回在这个范围内所有的水仙花数:
```python
def find_water_lilies(start, end):
water_lilies = []
for num in range(start, end + 1):
# 将数字转换为字符串,便于获取每一位数字
digits = [int(digit) for digit in str(num)]
# 计算每一位数字的立方和
sum_of_cubes = sum([digit**3 for digit in digits])
if num == sum_of_cubes:
water_lilies.append(num)
return water_lilies
# 示例用法
start_range = 100
end_range = 999
result = find_water_lilies(start_range, end_range)
print(f"在 {start_range} 到 {end_range} 的范围内,水仙花数有:{result}")
```
运行这个函数,它会在给定范围内搜索并打印出所有水仙花数。如果你想知道如何实现其他功能,如回文数、素数、完数或三位数的生成,也可以告诉我,我会提供相应的代码示例。
相关问题
python找出100-999的水仙花数
在Python中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。我们可以编写一个简单的程序来找出100到999范围内的所有水仙花数:
```python
def find_water_lily_numbers(start, end):
water_lilies = []
for num in range(start, end+1):
digits = [int(digit) for digit in str(num)]
if sum([digit**3 for digit in digits]) == num:
water_lilies.append(num)
return water_lilies
water_lily_numbers = find_water_lily_numbers(100, 999)
print("100-999之间的水仙花数有:", water_lily_numbers)
python编写找出1到100的水仙花数
在Python中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是一个简单的函数,用于找出1到100范围内的所有水仙花数:
```python
def find_water_lilies(start, end):
water_lilies = []
for num in range(start, end + 1):
# 将数字转换为字符串以便取每一位
digits = [int(digit) for digit in str(num)]
# 计算各位数字立方和
sum_of_cubes = sum(digit ** 3 for digit in digits)
# 如果立方和等于原数,则它是水仙花数
if sum_of_cubes == num:
water_lilies.append(num)
return water_lilies
# 找出1到100之间的水仙花数
water_flowers_1_to_100 = find_water_lilies(1, 100)
print("1到100之间的水仙花数有:", water_flowers_1_to_100)
阅读全文