POJ3982序列题解

9 阅读1分钟

首先由题意可知,该题的重点是求出初始条件为A0,A1,A2且递推公式为A[n] = A[n-1]+A[n-2]+A[n-3](n>=3)的斐波那契数列的第99项。 而由于数据范围有些大,所以需要利用到高精度来存储数据,比如Java的BigInteger。 而AC代码如下。

import java.math.BigInteger;
import java.util.Scanner;

public class Array {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
       while(in.hasNext()){
           BigInteger[] f = new BigInteger[100];
           f[0] = in.nextBigInteger();
           f[1] = in.nextBigInteger();
           f[2] = in.nextBigInteger();
           for(int i = 3; i <= 99; i++){
               f[i] = f[i-1].add(f[i-2]).add(f[i-3]);
           }
           System.out.println(f[99]);
       }
    }
}