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

 

posted on 2012-04-11 17:46  Try86  阅读(171)  评论(0)    收藏  举报