poj 2413 java How many Fibs?

    技术2022-05-20  56

     

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

     


    最新回复(0)