使用递归函数,计算1+2+3+……+n的和

使用递归函数,计算1+2+3+……+n的和for循环n=int(input(‘请输入一个正整数:’))sum=0foriinrange(n+1):sum+=iprint(sum)递归调用n=int(input(‘请输入一个正整数:’))defSum(n):ifn<=1:return1returnSum(n-…

大家好,欢迎来到IT知识分享网。使用递归函数,计算1+2+3+……+n的和"

#方法1:for循环
n = int(input('请输入一个正整数:'))
sum = 0
for i in range(n + 1):
    sum += i
print(sum)

#方法2:递归调用
n = int(input('请输入一个正整数:'))
def Sum(n):
    if n <= 1:
        return 1
    return Sum(n - 1) + n
print(Sum(n))

#简化方法,计算1+2+……+100的和,实现方法如下:
sum = 0
for i in range(1,100+1):
	sum += i
	
print(sum)

递归:如果一个函数在内部调用自己本身,这个函数就是递归函数

1.首先需要定义整个digital程序的终点(如上面的if n <= 1),否则会不停的执行下去,最终随着栈被占满整个程序就会崩溃。
2.写出参数n 和 n -1的关系即可,如上面的加法运算Sum(n) = Sum(n – 1) + n
3.递归的最大深度与编译器(或者解释器)的最大栈的深度以及执行环境的最大内存有关,二者是或的关系。 其中编译器的最大递归深度修改方法如下:
import sys
sys.setrecursionlimit(1000)# 修改最大递归深度,这里设为1千

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15343.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信