求大数

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]);
        }
    }
}
上一篇:java-计算BigInteger的乘积[]


下一篇:System类、BigDecimal类、BigInteger类