输入2 个正整数m 和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之立方和是否等于其自身。
时间: 2024-12-12 11:24:35 浏览: 5
水仙花数( narcissistic number 或 pluperfect digital invariant number)是一种特殊的整数,它的每个位上的数字立方和等于该数字本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
你可以通过编写一个名为 `is` 的函数来检查给定的数字是否是水仙花数。下面是一个简单的 Python 示例,如何定义这个函数并找出 m 到 n 范围内的所有水仙花数:
```python
def is_water_lily(num):
# 将数字转换成字符串,便于按位处理
num_str = str(num)
# 计算各个位的立方和
sum_of_cubes = sum(int(digit)**3 for digit in num_str)
# 检查立方和是否等于原数
return sum_of_cubes == num
def find_narcissistic_numbers(m, n):
# 循环遍历 m 到 n 区间
for num in range(m, n+1):
if is_water_lily(num):
print(num)
# 示例用法
m = int(input("请输入范围的起始值 m: "))
n = int(input("请输入范围的结束值 n: "))
find_narcissistic_numbers(m, n)
阅读全文