输出给定正整数M和N区间的所有水仙花数
时间: 2024-09-26 13:17:44 浏览: 51
输出所有在m和n范围内的水仙花数.cpp
5星 · 资源好评率100%
水仙花数是一个特殊的三位数,其各位数字立方和等于该数本身。例如,153是个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
给出正整数 M 和 N,你可以通过遍历这个范围内的每个数,然后计算它的百位、十位和个位的立方和,如果相等并且是三位数,则它是水仙花数。以下是Python的一个简单示例:
```python
def find_water_lilies(start, end):
water_lilies = []
for num in range(start, end+1):
if is_palindrome(num): # 检查是否为三位数
digits = [int(d) for d in str(num)] # 获取各个位数
if sum(map(lambda x: x ** 3, digits)) == num:
water_lilies.append(num)
return water_lilies
def is_palindrome(n):
return str(n) == str(n)[::-1] # 判断是否为回文数,即从前往后读和从后往前读一样
# 使用函数并输出结果
M = 100 # 起始值
N = 500 # 结束值 (包括边界)
water_lily_numbers = find_water_lilies(M, N)
print(f"在区间 {M} 到 {N} 内的水仙花数有:")
for num in water_lily_numbers:
print(num)
阅读全文