python - 如何获得Python算法的数学方程式?

标签 python algorithm math

好吧,我因为不知道这一点而感到有点愚蠢,但是一位同事问了所以我在这里问:我写了一个 python 算法来解决他的问题。给定 x > 0 将 1 到 x 的所有数字相加。

def intsum(x):
  if x > 0:
    return x + intsum(x - 1)
  else:
    return 0

intsum(10)
55

首先,这种方程式是什么?得到这个答案的正确方法是什么,因为使用其他方法显然更容易?

最佳答案

这是递归,尽管出于某种原因您将其标记为阶乘。

无论如何,从1到n的总和也很简单:

n * ( n + 1 )/2

(如果你愿意,你可以将它特殊化为负值。)

关于python - 如何获得Python算法的数学方程式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2861996/

相关文章:

python - 从 shell 脚本执行 python 脚本(有参数)

python - Scikit 学习 API xgboost 允许在线培训吗?

algorithm - 寻求保留重复项的合并算法

delphi - System.Math.MomentSkewKurtosis 中的 Moment 3 和 Moment 4 到底是什么

c - 加权随机整数

python - 使用 pytest 读写文件的模式

python - 如何告诉 Numpy 以 UTC 而不是本地时区打印时间?

algorithm - 寻找数据结构顺序的困惑

algorithm - 使用 F# 在 Microsoft Solver 中添加约束

swift - 21如何计算! (21 阶乘)快速?