高精度题,java水过~
需要注意的是
0 1
0 2
1 2
2 3
这几个输入
}import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
BigDecimal[] f=new BigDecimal[500];
int af=0,bf=0;
f[0]=new BigDecimal(1);
f[1]=new BigDecimal(2);
for(int i=2;i<500;i++){
f[i]=f[i-1].add(f[i-2]);
}
while(cin.hasNext()){
boolean isGetA=false;
BigDecimal a=new BigDecimal(cin.next());
BigDecimal b=new BigDecimal(cin.next());
if(b.compareTo(new BigDecimal(0))==0)break;
for(int n=0;n<500;n++){
if(isGetA==false){
if(f[n].compareTo(a)!=-1){
af=n;
isGetA=true;
}
}
if(f[n].compareTo(b)==1){
bf=n;
break;
}
}
System.out.println(bf-af);
}
}
}