递归函数的应用之阶乘的和斐波那契数列的实现

  1 #阶乘 
  2 #4!=4*3*2*1 n!=n*(n-1)*(n-2)... 
  3 #方法一  while循环
  4 '''
  5 n=4
  6 i=1
  7 res=1
  8 while i <= n:
  9     res=res*i
 10     i+=1
 11 print(res)
 12 '''
 13 #方法二 n!=n*(n-1)! 递归函数
 14 def test1(n):
 15     if n==1:#当n=1时,n-1=0,不满足阶乘的结果,所以把1单独拿出来,让值返回1
 16         return 1
 17     return n*test1(n-1)
 18 print(test1(4))
~                  

 20 #斐波那契数列
 21 #1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...从第三项开始,每一项都是前两项的和,即(n-1)+(n-2)
 22 def test1(n):
 23     if n==1 or n==2:
 24         return 1
 25     return test1(n-1) + test1(n-2)
 26 print(test1(6))
 27 nums=[]
 28 for i in range(1,6):
 29     nums.append(test1(i))
 30 print(nums)
~              

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值