hdu 1316(java大数)

/*

*  java大数

*/

import java.util.Scanner;

import java.math.BigInteger;



public class hdu1316

{

    public static void main(String args[]) 

    {

        BigInteger []fib = new BigInteger[500];

        fib[1] = BigInteger.ONE;

        fib[2] = new BigInteger("2");

        for (int i=3; i<500; ++i)

        {

            fib[i] = fib[i-1].add(fib[i-2]);

        }

        BigInteger a, b;

        Scanner cin = new Scanner(System.in);

        a = cin.nextBigInteger();

        b = cin.nextBigInteger();

        while (a.compareTo(BigInteger.ZERO)!=0 || b.compareTo(BigInteger.ZERO)!=0)

        {

            int count = 0;

            for (int i=1; i<500; ++i)

            {

                if (fib[i].compareTo(a)>=0 && fib[i].compareTo(b)<=0)

                {

                    ++count;

                }

                if (fib[i].compareTo(b)>0)

                {

                    break;

                }

            }

            System.out.println(count);

            a = cin.nextBigInteger();

            b = cin.nextBigInteger();

        }

    }

}

 

你可能感兴趣的:(java)