📅  最后修改于: 2023-12-03 15:11:27.141000             🧑  作者: Mango
计算 11 系列的总和! + 22! + 33! + 44! +……。+ n n!
我们可以通过一个 for 循环来计算这个总和。
代码如下:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
def sum_of_factorial(n):
total = 0
for i in range(1, n+1):
total += i**i
return total
n = 5
print(sum_of_factorial(n)) # 输出 3413
我们需要实现两个函数:factorial(n)
和 sum_of_factorial(n)
。
factorial(n)
函数实现了阶乘的递归计算。当 n 等于 0 时返回 1,否则返回 n * factorial(n-1)。sum_of_factorial(n)
函数计算了总和。我们用一个循环从 1 到 n。每个数 i 加上当前数的 i 次幂的阶乘,然后把它们都加到 total 总和中。我们设置一个 n 值为 5,然后调用函数 sum_of_factorial(n)
并打印输出结果。
n = 5
print(sum_of_factorial(n)) # 输出 3413
输出结果为 3413。
我们成功地实现了计算 11 系列的总和! + 22! + 33! + 44! +……。+ n n!的程序。程序利用 for 循环和递归完成了计算,最终返回了总和。