题目地址:http://poj.org/problem?id=2413
import java.util.*;
import java.math.*;
import java.text.*;
import java.io.*;
public class Main
{
public static void main(String[] args) {
Scanner cin = new Scanner(new BufferedInputStream(System.in));
BigInteger[] f = new BigInteger[500+5];
f[1]=BigInteger.valueOf(1);
f[2]=BigInteger.valueOf(2);
for(int i=3;i<=500;i++) f[i]=f[i-1].add(f[i-2]);
while(cin.hasNext()){
BigInteger s=cin.nextBigInteger();
BigInteger e=cin.nextBigInteger();
if(s.add(e).equals(BigInteger.ZERO)) break;
int cnt=0;
for(int i=1;i<=500;i++)
if(s.compareTo(f[i])<=0&&e.compareTo(f[i])>=0) cnt++;
System.out.println(cnt);
}
}
}