淘先锋技术网

首页 1 2 3 4 5 6 7

芙蓉数是一种特殊的自然数,它的值等于它的各位数字的阶乘之和。例如:145就是一个芙蓉数,因为1!+4!+5!=1+24+120=145。

python求芙蓉数

下面,我们用Python编写一个程序来求芙蓉数:


def factorial(num):
    if num == 1 or num == 0:
        return 1
    else:
        return num * factorial(num-1)

def is_furong(num):
    sum = 0
    for i in str(num):
        sum += factorial(int(i))
    if sum == num:
        return True
    else:
        return False

for num in range(1, 100000):
    if is_furong(num):
        print(num)

我们首先定义了一个factorial函数来计算一个数的阶乘。然后定义了一个is_furong函数来判断一个数是否为芙蓉数。接着,我们用一个for循环来遍历1到100000之间的所有自然数,如果一个数是芙蓉数,就打印出它的值。

现在,我们运行这个程序,就可以得到从1到100000之间的所有芙蓉数:


1
2
145
40585

可以看出,芙蓉数并不是很多,而且它们的值非常大。因此,在编写芙蓉数程序时,要格外注意计算的效率和精度问题。