Problem Description
高中数学大家都学过数列,其中一个重要的概念就是数列的通项,可以代表数列中每一项的一个表达式。
今天我们的问题就跟通项有关系,说,给你一个数列的通项和数列中的前几项,希望你能求出它的第n项。
通项表达式如下:
F(1) = 0;
F(2) = 1;
F(n) = 4*F(n-1)-5*F(n-2);
今天我们的问题就跟通项有关系,说,给你一个数列的通项和数列中的前几项,希望你能求出它的第n项。
通项表达式如下:
F(1) = 0;
F(2) = 1;
F(n) = 4*F(n-1)-5*F(n-2);
Input
输入数据第一行是一个正整数T,T<100。接下来T行,每行一个整数n, 2<n<50。
Output
输出有T行,对于输入中每行中的n按照通项计算出F(n)。
Example Input
4 3 4 5 6
Example Output
4 11 24 41
注意:把给数组的赋值放在构造函数中(水题)
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for (int i = 0; i < t; i++) {
int n=sc.nextInt();
Series se=new Series(n);
int result=se.result(n);
System.out.println(result);
}
sc.close();
}
}
class Series{
int a[]=new int [55];
int n;
public Series(int n){
a[1]=0;
a[2]=1;
for(int i=3;i<=50;i++){
a[i]=4*a[i-1]-5*a[i-2];
}
this.n=n;
}
public int result(int n){
a[1]=0;
a[2]=1;
for(int i=3;i<=50;i++){
a[i]=4*a[i-1]-5*a[i-2];
}
return a[n];
}
}
构造函数:http://www.cnblogs.com/lovely/archive/2011/12/31/2309017.html(以后参考)