1. 程式人生 > >大菲波數 Java大數 水過

大菲波數 Java大數 水過

Description

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) {
		// TODO 自動生成的方法存根
		BigInteger [] a = new BigInteger [2000];
		a[1] = a[2] = BigInteger.valueOf(1);
		for (int i=3;i<=1002;i++)
		{
			a[i] = a[i-1].add(a[i-2]);
		}
		Scanner cin = new Scanner(System.in);
		int n = cin.nextInt();
		for (int i=0;i<n;i++)
		{
			int m = cin.nextInt();
			System.out.println(a[m]);
		}

	}

	

}