高精度题,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); } } }