递推数列的计算

利用递归函数

我们最熟悉的一个递推数列就是斐波那契数列。 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , . . . 1, 1, 2, 3, 5, 8, 13, 21, ... 1,1,2,3,5,8,13,21,...,斐波那契数列规定数列的第一个元素和第二个元素都为1,后面的元素是前两个元素之和,可以利用递推公式描述如下:

F ( n ) = { 1 n = 1   o r   n = 2 F ( n − 1 ) + F ( n − 2 ) n > = 3 F(n) = \begin{cases}1 & n = 1 \ or \ n = 2 \\ F(n-1) + F(n-2) & n >= 3 \end{cases} F(n)={ 1F(n1)+F(n2)n=1 or n=2n>=3

根据斐波那契数列的递推公式,我们可以很快写出一个递归函数来计算 F ( n ) F(n) F(n)。伪代码如下:

F(n)
    if n == 1 or n == 2
        return 1
    if n >= 3
        return F(n-1) + F(n-2)

同样,对于其他的递推数列,只要给出了递推公式,我们就能根据递推公式写出一个递归函数。例如有如下递推数列 a n {a_n} an,其中 a 1 = 1 a_1 = 1 a1=1 a 2 = 2 a_2 = 2 a2=2 a n + 2 = 3 a n − 1 − 2 a n a_{n+2} = 3a_{n-1} - 2a_n an+2=3an12an,这个递推数列的递推公式如下

F ( n ) = { 1 n = 1 2 n = 2 3 F ( n − 1 ) − 2 F ( n − 2 ) n &gt; = 3 F(n) = \begin{cases} 1 &amp; n = 1 \\ 2 &amp; n = 2 \\ 3F(n-1) - 2F(n-2) &amp; n &gt;= 3 \end{cases} F(n)=123F(n1)−</

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值