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

Posted forcheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HD-ACM算法专攻系列(13)——How Many Fibs?相关的知识,希望对你有一定的参考价值。

问题描述:

 

源码:

 

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);
			}
		}
}
 

  

以上是关于HD-ACM算法专攻系列(13)——How Many Fibs?的主要内容,如果未能解决你的问题,请参考以下文章

HD-ACM算法专攻系列(11)——Exponentiation

HD-ACM算法专攻系列(16)——考试排名

HD-ACM算法专攻系列——大菲波数

HD-ACM算法专攻系列——N!

HD-ACM算法专攻系列——排序

HD-ACM算法专攻系列——排序