专业编程基础技术教程

网站首页 > 基础教程 正文

python经典案例:求前N项阶乘和

ccvgpt 2024-11-22 11:19:16 基础教程 1 ℃

问题:求前N项数阶乘和,如求:1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的和

程序分析:求某一个数的阶乘可以使用递归的方法,我们只需要将每次数阶乘的结果求和即可。

python经典案例:求前N项阶乘和

#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
def factorial_sum(n):
    if n == 1:
        return 1
    else:
        return n * factorial_sum(n - 1)
n = 10
result=0
for i in range(1,n+1):
    result+=factorial_sum(i)
print("前{}项阶乘的和为:{}".format(n, result))

程序运行结果:

#4037913

我们也可以使用列表推导式与递归:

#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
def factorial(n):
    if n == 1:
        return 1
    else:
        return n * factorial(n - 1)

def factorial_sum(n):
    return sum([factorial(i) for i in range(1, n + 1)])
n = 10
result = factorial_sum(n)
print("前{}项阶乘的和为:{}".format(n, result))

Tags:

最近发表
标签列表