c语言编程:已知数列F(n),当n=1时F(1)=1,当n=2时F(2)=2,当n>2时F(n)=2F(n-2)+3F(

2025-06-28 05:00:05
推荐回答(1个)
回答1:

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
这个是离散数学的知识