hdu1316 How Many Fibs?

import java.math.BigInteger;
import java.util.Scanner;
import java.text.*;
import java.util.*;
import javax.crypto.CipherInputStream;

import java.io.*;
import java.lang.reflect.Array;

public class Main {//hdu1316
    public static void main(String[] args){
       BigInteger f[]=new BigInteger [1000];
       f[0]=BigInteger.valueOf(1);
       f[1]=BigInteger.valueOf(2);
       for(int i=2;i<1000;i++){
           f[i]=f[i-1].add(f[i-2]);
       }
       Scanner cin=new Scanner(System.in);
       while(cin.hasNext()){
         BigInteger a=cin.nextBigInteger();
         BigInteger b=cin.nextBigInteger();
         if(a.compareTo(BigInteger.valueOf(0))==0&&b.compareTo(BigInteger.valueOf(0))==0) break;
         int ans=0;
         for(int i=0;i<998;i++){
             if(f[i].compareTo(a)>=0&&f[i].compareTo(b)<=0) ans++;
             if(f[i].compareTo(b)>0) break;
         }
         System.out.println(ans);
       }
    }
}

你可能感兴趣的:(hdu1316 How Many Fibs?)