您的位置:首页 > 其它

HD-ACM算法专攻系列(13)——How Many Fibs?

2017-10-07 15:38 369 查看
问题描述:



源码:

import java.math.BigInteger;
import java.util.*;

public class Main
{
//主函数
public static void main(String[] args)
{
BigInteger a, b, zero = BigInteger.valueOf(0), f1, f2, fn;
int count;
Scanner cin = new Scanner(System.in);
while(true)
{
a = cin.nextBigInteger();
b = cin.nextBigInteger();
if(a.equals(zero) && b.equals(zero))break;
count = 0;
f1 = BigInteger.valueOf(1);
if(a.compareTo(f1) <= 0 && b.compareTo(f1) >= 0)count++;
f2 = BigInteger.valueOf(2);
if(a.compareTo(f2) <= 0 && b.compareTo(f2) >= 0)count++;
while(true)
{
fn = f2.add(f1);
if(a.compareTo(fn) <= 0 && b.compareTo(fn) >= 0)count++;
else if(b.compareTo(fn) < 0)break;
f1 = f2;
f2 = fn;
}
System.out.println(count);
}
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: