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)。
Sample Input
4 3 4 5 6
Sample Output
4 11 24 41
import java.util.Scanner;
class Fibonacci {
int[] f=new int[50];
int n;
public Fibonacci(int n){
this.n = n;
}
public int show(){
f[1]=0;
f[2]=1;
for(int i=3; i<=n; i++){
f[i] = 4*f[i-1] - 5*f[i-2];
}
return f[n];
}
}
public class Main {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int t = reader.nextInt();
for(int i=0; i<t; i++) {
int n = reader.nextInt();
Fibonacci rect = new Fibonacci(n);
int a = rect.show();
System.out.println(a);
}
}
}