zoukankan      html  css  js  c++  java
  • hdu--1316--How Many Fibs?(java大数)

    How Many Fibs?

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 6371    Accepted Submission(s): 2517


    Problem Description
    Recall the definition of the Fibonacci numbers: 
    f1 := 1 
    f2 := 2 
    fn := fn-1 + fn-2 (n >= 3) 

    Given two numbers a and b, calculate how many Fibonacci numbers are in the range [a, b]. 
     
    Input
    The input contains several test cases. Each test case consists of two non-negative integer numbers a and b. Input is terminated by a = b = 0. Otherwise, a <= b <= 10^100. The numbers a and b are given with no superfluous leading zeros.
     
    Output
    For each test case output on a single line the number of Fibonacci numbers fi with a <= fi <= b. 
     
    Sample Input
    10 100
    1234567890 9876543210
    0 0
     
    Sample Output
    5
    4
     
     1 import java.util.Scanner;
     2 import java.math.*;
     3 
     4 /**
     5  * @author 日天大帝
     6  * 第480个斐波数是101位,打个表开480够用
     7  */
     8 public class Main {
     9     public static void main(String[] args) {
    10         Scanner cin = new Scanner(System.in);
    11         final int MAX = 480;
    12         BigInteger arr[] = new BigInteger[MAX];
    13         arr[0] = BigInteger.ONE;
    14         arr[1] = BigInteger.valueOf(2);
    15         for(int i=2; i<MAX ; ++i){
    16             arr[i] = arr[i-1].add(arr[i-2]);
    17         }
    18         while(cin.hasNext()){
    19             BigInteger a = cin.nextBigInteger();
    20             BigInteger b = cin.nextBigInteger();
    21             if(a.compareTo(b) == 0 && a.compareTo(BigInteger.ZERO) == 0)break;
    22             int ct = 0;
    23             for(int i=0;; ++i){
    24                 if(arr[i].compareTo(b) > 0)break;
    25                 if(arr[i].compareTo(a) >= 0)ct++;
    26             }
    27             System.out.println(ct);
    28         } 
    29     }
    30 }
  • 相关阅读:
    理解Device Tree Usage
    Unhandled Exception in EL3
    python的multitask模块安装
    利用python制作在线视频播放器遇到的一些问题
    设置linux代理完成apt-get
    Eric6安装问题解决
    关于代码重构的比喻
    AAC的RTP封装中的AU头分析
    CORE DUMP生成调试
    开源库SRT编译指南
  • 原文地址:https://www.cnblogs.com/slothrbk/p/6776290.html
Copyright © 2011-2022 走看看