📌  相关文章
📜  Python程序打印给定列表中的所有强数字(1)

📅  最后修改于: 2023-12-03 15:04:41.076000             🧑  作者: Mango

Python程序打印给定列表中的所有强数字

强数字(Strong number)是指一个数字的各个位数的阶乘之和等于该数字本身的数字。详见维基百科

在Python中,可以用以下代码实现打印给定列表中的所有强数字:

def is_strong_number(n):
    """
    判断一个数字是否是强数字
    """
    # 计算数字n的各个位数的阶乘之和
    sum_factorial = sum([factorial(int(i)) for i in str(n)])
    return sum_factorial == n

def factorial(n):
    """
    计算n的阶乘
    """
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n-1)

def print_strong_numbers(numbers):
    """
    打印出给定列表中的所有强数字
    """
    strong_numbers = [n for n in numbers if is_strong_number(n)]
    print("给定列表中的所有强数字:")
    print(strong_numbers)

使用方法:

# 定义一个列表
nums = [145, 40585, 1, 2, 1451, 40586]

# 打印出列表中的所有强数字
print_strong_numbers(nums)

输出结果为:

给定列表中的所有强数字:
[145, 40585]