首页 > 编程语言 > 详细

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

时间:2017-10-07 17:21:29      阅读:267      评论:0      收藏:0      [点我收藏+]

问题描述:

技术分享

 

源码:

 

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?

原文:http://www.cnblogs.com/forcheng/p/7634883.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!