📅  最后修改于: 2023-12-03 15:04:41.076000             🧑  作者: Mango
强数字(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]