使用递归编写函数,求f(n)当n = 0时,f(n) = 0;当n = 1时,f(n) = 1;当n >= 2时,f(n) = 2f(n - 1) + 3f(n - 2):我只想要题解,只是很想知道这个题目的规律

问题描述:

使用递归编写函数,求f(n)
当n = 0时,f(n) = 0;当n = 1时,f(n) = 1;当n >= 2时,f(n) = 2f(n - 1) + 3f(n - 2):
我只想要题解,只是很想知道这个题目的规律

int f(int n)
{
if (n == 0 || n == 1)
return n;
else
return 2 * f(n - 1) + 3 * f(n - 2);
}
数学解法如下:
递推方程的特征方程为:
x^2=2x+3,解得特征根为x1=-1,x2=3,
从而f(n)=C1*(-1)^n + C2*3^n,再代入f(0)=1,f(1)=1,解得
C1=-1/4, C2=1/4,从而f(n)=-1/4*(-1)^n + 1/4 * 3^n
这个是离散数学的知识