水仙花数,也称为自恋数或阿姆斯特朗数,是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。以下是使用Python编写的一个例子,用于输出指定范围内的水仙花数:
def is_armstrong_number(num):
# 将数字转换为字符串,以便迭代每个位
num_str = str(num)
# 获取数字的位数
n = len(num_str)
# 计算每个位的n次幂之和
sum_of_powers = sum(int(digit) ** n for digit in num_str)
# 如果和等于原始数字,则是水仙花数
if sum_of_powers == num:
return True
else:
return False
def print_armstrong_numbers(start, end):
print(f"水仙花数在范围 {start} 到 {end}:")
for num in range(start, end + 1):
if is_armstrong_number(num):
print(num)
# 示例输出范围为0到999的水仙花数
print_armstrong_numbers(0, 999)
运行以上代码,将输出范围在0到999之间的所有水仙花数。你可以根据需要更改print_armstrong_numbers
函数的参数来打印不同范围内的水仙花数。