Problem Description
高中数学大家都学过数列,其中一个重要的概念就是数列的通项,可以代表数列中每一项的一个表达式。
今天我们的问题就跟通项有关系,说,给你一个数列的通项和数列中的前几项,希望你能求出它的第n项。
通项表达式如下:
F(1) = 0;
F(2) = 1;
F(n) = 4F(n-1)-5F(n-2);
Input
输入数据第一行是一个正整数T,T<100。接下来T行,每行一个整数n, 2<n<50。
Output
输出有T行,对于输入中每行中的n按照通项计算出F(n)。
Sample Input
4
3
4
5
6
Sample Output
4
11
24
41
#include<bits/stdc++.h>
int f(int n)
{
int x;
if(n==1)
{
return 0;
}
if(n==2)
{
return 1;
}
else
{
return 4*f(n-1)-5*f(n-2);
}
}
int main()
{
int m;
int k;
scanf("%d",&k);
while(k--){
scanf("%d",&m);
printf("%d\n",f(m));
}
return 0;
}
函数的递归调用。