大菲波数 HDU - 1715

版权声明: https://blog.csdn.net/nucleare/article/details/82989323

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]);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/nucleare/article/details/82989323