hdu1316 How Many Fibs?
题目链接: hdu1316 ( How Many Fibs? )
\(java\ AC\) 代码:
/**
* hdu1316 How Many Fibs?
*
*/
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
BigInteger a = in.nextBigInteger();
BigInteger b = in.nextBigInteger();
if (a.equals(b) && a.equals(BigInteger.ZERO)) break;
BigInteger f1 = BigInteger.ZERO, f2 = BigInteger.ONE;
int ans = 0;
while (f2.compareTo(b) <= 0 && f1.compareTo(b) <= 0) {
f1 = f1.add(f2); f2 = f2.add(f1);
if (f1.compareTo(a) >= 0 && f1.compareTo(b) <= 0) ++ans;
if (f2.compareTo(a) >= 0 && f2.compareTo(b) <= 0) ++ans;
}
System.out.println(ans);
}
}
}