HDU 1316 How Many Fibs? 大數相加

import java.math.BigInteger;
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        BigInteger dic[] = new BigInteger[1010];
        dic[1] = new BigInteger("1");
        dic[2] = new BigInteger("2");
        for (int i = 3; i <= 1000; i++) dic[i] = dic[i - 1].add(dic[i - 2]);
        while(scanner.hasNext()){
            BigInteger a = scanner.nextBigInteger();
            BigInteger b = scanner.nextBigInteger();
            if(a.equals(new BigInteger("0")) && b.equals(new BigInteger("0"))) break;
            int tot = 0;
            for (int i = 1; i <= 1000; i++) {
                if((a.compareTo(dic[i]) == -1 || a.compareTo(dic[i]) == 0) && (dic[i].compareTo(b) == -1 || dic[i].compareTo(b) == 0)) ++tot;
            }
            System.out.println(tot);
        }
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章