1. 程式人生 > >大菲波數 HDU

大菲波數 HDU

Fibonacci數列,定義如下: 
f(1)=f(2)=1 
f(n)=f(n-1)+f(n-2) n>=3。 
計算第n項Fibonacci數值。 

Input

輸入第一行為一個整數N,接下來N行為整數Pi(1<=Pi<=1000)。 

Output

輸出為N行,每行為對應的f(Pi)。 

Sample Input

5
1
2
3
4
5

Sample Output

1
1
2
3
5
import java.math.BigInteger;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		BigInteger a[] = new BigInteger[1100];
		a[1] = a[2] = BigInteger.ONE;
		for (int i = 3; i <= 1000; ++i) {
			a[i] = a[i-1].add(a[i-2]);
		}
		Scanner cin = new Scanner(System.in);
		int n = cin.nextInt();
		for (int i = 1; i <= n; ++i) {
			int pi = cin.nextInt();
			System.out.println(a[pi]);
		}
	}
}