zoukankan      html  css  js  c++  java
  • POJ 2413 How many Fibs? (java大数)

    How many Fibs?
     

    Description

    Recall the definition of the Fibonacci numbers: 
    f1 := 1 
    
    f2 := 2
    fn := f
    n-1
     + f
    n-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<=10100. 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

    网上的博弈题分类中出了一个叛徒...明明不是博弈。java顺手ac了。

    import java.io.*;
    import java.math.*;
    import java.util.*;
    
    public class Main {
        public static void main(String args[]) {
            BigInteger a, b;
            Scanner in = new Scanner(System.in);
            while(in.hasNext()) {
                a = in.nextBigInteger();
                b = in.nextBigInteger();
                if(a.equals(BigInteger.ZERO) && b.equals(BigInteger.ZERO)) break;
                int cnt = 0;
                BigInteger f[] = new BigInteger[5000];
                f[1] = BigInteger.valueOf(1); f[2] = BigInteger.valueOf(2);
                for(int i = 1; ; i++) {
                    if(i >= 3)
                        f[i] = f[i - 1].add(f[i - 2]);
                    if(f[i].compareTo(b) > 0) break;
                    if(a.compareTo(f[i]) <= 0) {
                        cnt++;
                    }
                }
                System.out.println(cnt);
            }
        }
    }
  • 相关阅读:
    消费RabbitMQ时的注意事项,如何禁止大量的消息涌到Consumer,保证线程安全
    消费RabbitMQ时的注意事项,如何禁止大量的消息涌到Consumer,保证线程安全
    scrollTop值为0等疑难杂症
    9.四平方和
    8.冰雹数
    7.搭积木
    6.凑算式
    5.分小组
    4.骰子游戏
    3.平方怪圈
  • 原文地址:https://www.cnblogs.com/lonewanderer/p/5690890.html
Copyright © 2011-2022 走看看