使用python语言输出水仙花数,详细解答
作者:野牛程序员:2023-06-20 17:26:46python阅读 2685
当我们谈论水仙花数时,我们指的是一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如,3位数的水仙花数是153,因为1^3 + 5^3 + 3^3 = 153。
下面是使用Python语言输出水仙花数的代码:
def is_armstrong_number(number):
# 将数字转换为字符串,以便可以迭代每个数字
str_number = str(number)
# 获取数字的位数
num_digits = len(str_number)
# 计算每个数字的n次幂之和
sum_of_digits = sum(int(digit)**num_digits for digit in str_number)
# 检查是否是水仙花数
if sum_of_digits == number:
return True
else:
return False
# 获取用户输入的位数
num_digits = int(input("请输入位数:"))
# 找到所有的水仙花数并输出
print(f"{num_digits}位数的水仙花数有:")
for number in range(10**(num_digits-1), 10**num_digits):
if is_armstrong_number(number):
print(number)这段代码首先定义了一个名为is_armstrong_number()的函数,它接受一个整数作为参数,并检查该数字是否是水仙花数。然后,代码通过用户输入确定位数,并使用循环遍历从最小的n位数到最大的n位数范围内的所有数字。对于每个数字,它调用is_armstrong_number()函数来检查是否是水仙花数,如果是,则将其打印出来。
你可以运行这段代码,并在提示输入位数时输入一个正整数,然后它将输出该位数范围内的所有水仙花数。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:使用C++输出水仙花数,详细解答
- 下一篇:详细讲舵机
