水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

以下是使用Python编写的程序来查找水仙花数:

def find_armstrong_numbers(n):
    armstrong_numbers = []
    for number in range(10, 10**n):
        digits = [int(digit) for digit in str(number)]
        sum_of_powers = sum([digit**n for digit in digits])
        if sum_of_powers == number:
            armstrong_numbers.append(number)
    return armstrong_numbers

n = int(input("请输入数字的位数(大于等于3):"))
armstrong_numbers = find_armstrong_numbers(n)
print(f"{n}位数的水仙花数:{armstrong_numbers}")

在这个程序中,我们定义了一个find_armstrong_numbers函数,它接受一个整数n作为参数,并返回一个列表,其中包含所有n位水仙花数。然后,我们从10开始循环到10的n次方,对每个数字进行检查。我们将每个数字拆分为它的各个位数,并计算每个位数的n次幂之和。如果和等于该数字本身,则将其添加到水仙花数列表中。最后,我们打印出找到的水仙花数。

请注意,在这个程序中,我们只考虑了n位数的水仙花数,其中n是大于等于3的整数。如果你想找到其他位数的水仙花数,只需调用find_armstrong_numbers函数并传入相应的位数即可

如何用python找到水仙花数

原文地址: https://www.cveoy.top/t/topic/hXUH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录