📌  相关文章
📜  程序查找11 系列的总和! + 22! + 33! + 44! +……。+ n n!(1)

📅  最后修改于: 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 循环和递归完成了计算,最终返回了总和。