Python从1到n的数字总和

示例

如果我想找出数从和1到n哪里n是自然数,我能做到1 + 2 + 3 + 4 + ... + (several hours later) + n。另外,我可以编写一个for循环:

n = 0

for i in range (1, n+1):

    n += i

或者我可以使用一种称为递归的技术:

def recursion(n):

    if n == 1:

        return 1

    return n + recursion(n - 1)

递归相对于以上两种方法具有优势。递归所需的时间少于写出1 + 2 + 31至3的总和的时间。对于recursion(4),递归可用于后退:

函数调用:(4-> 4 + 3-> 4 + 3 + 2-> 4 + 3 + 2 + 1-> 10)

而for循环严格向前运行:(1-> 1 + 2-> 1 + 2 + 3-> 1 + 2 + 3 + 4-> 10)。有时,递归解决方案比迭代解决方案更简单。这在实现链表反转时很明显。

以上是 Python从1到n的数字总和 的全部内容, 来源链接: utcz.com/z/340672.html

回到顶部