返回顶部

python3之递归实例

一、利用递归求: 1+2+3+4+5...+n的前n项和
 1 def recursion_sum_1(n):
 2     #当n = 1;和为1
 3     #否则,n的和等同于 n + (n -1)
 4 
 5     if n == 1:
 6         return 1
 7 
 8     else:
 9         return n + recursion_sum_1(n-1)
10 
11 print(recursion_sum_1(100))        # 5050

二、利用递归求: 1-2+3-4+5...+n的前n项和

 1 def recursion_sum_2(n):
 2     #当n = 1;和为1
 3     #否则,n的和等同于 n + (n -1)
 4     if n == 1:
 5         return 1
 6     else:
 7         if n % 2 == 0:
 8             return -n + recursion_sum_2(n-1)
 9         elif n % 2 != 0:
10             return n + recursion_sum_2(n-1)
11 
12 print(recursion_sum_2(4))    # -2

注意:

递归的优缺点
优点:
把问题简单化,让思路更加清晰,代码更简洁
缺点:
递归因系统环境影响大,当递归深度太大时,可能会出现不可预知的结果
posted @ 2019-08-07 16:49  Be-myself  阅读(579)  评论(0编辑  收藏  举报
levels of contents 点击查看具体代码内容