Java中提供了BigInteger类,利用它我们可以很方便地求出较大的数。下面有一个求裴波纳契数列第n项的实例。
输入一个数字n,然后是n行,每行有一个数字pi(0<pi<=1000),求对应的f(pi),每个结果占一行输出。
样列输入:
5
1
2
3
4
5
样列输出:
1
1
2
3
5
Java代码如下:
import java.util.*;
import java.math.*;
public class Main
{
public static void main(String[] args)
{
int i,n,pi;
BigInteger[] f=new BigInteger[1003];
f[0]=BigInteger.ZERO;
f[1]=BigInteger.ONE;
f[2]=BigInteger.ONE;
f[3]=f[1].add(f[2]);
for(i=4;i<=1000;i++)
{
f[i]=f[i-1].add(f[i-2]);//打表,先求出前n项的值。
}
Scanner input=new Scanner(System.in);
n=input.nextInt();
for(i=1;i<=n;i++)
{
pi=input.nextInt();
System.out.println(f[pi]);
}
}
}