python-3.x - Python 中使用递归求指数和

标签 python-3.x recursion

我在这里找到:exponential sum using recursion.python

在相同的条件下实现完全相同的问题。

简单描述:我们已经开始研究递归,并且有一些问题需要仅使用递归而不使用任何循环来解决。

所以我们被要求编写一个计算指数和的函数。

这是我的尝试:

def exp_n_x(n, x):

    if n <= 0:
        return 1
    return (x/n)*exp_n_x(n-1, x)

它实际上只计算第n个,而不将其他相加到i=0。

我试图让函数对每个指数元素求和:

def exp_n_x(n, x):

    if n <= 0:
        return 1
    sum = (x/n)*exp_n_x(n-1, x)
    n = n - 1
    return sum + (x/n)*exp_n_x(n-1, x)

但这对我没有帮助...... 谢谢。

最佳答案

您非常接近第一个函数中的解决方案,但您缺少两个关键的东西:您需要将 x 提高到 n 的幂并将其除以通过n!(n 阶乘)。阶乘函数是从 1n 的所有整数的乘积,特殊情况是 0!1 >。此外,当您需要一笔金额时,您正在创建一个产品。将这些放在一起,您将得到:

def factorial(n):
    if n < 2:
        return 1
    return n * factorial(n - 1)


def exp_n_x(n, x):
    if n < 1:
        return 1
    return x ** n / factorial(n) + exp_n_x(n - 1, x)

关于python-3.x - Python 中使用递归求指数和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53545458/

相关文章:

python-3.x - python 出现段错误 : 11 on OS 10. 13

python - 使用递归的二分搜索进入无限循环

java - 递归搜索数组中的字符(Java)

algorithm - 与算法的复杂性共舞

python-3.x - 使用 pandas dataframe 列值来透视其他列

python - 混合 Numpy 向量化和普通 Python

python - Discord 机器人检查用户是否是管理员

python - 网络抓取运行时出现 ConnectionResetError。

C++ 递归查找数组的最小值

python - 将 exec() 与递归函数一起使用