HDUJ 1316 How Many Fibs?

How Many Fibs?

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 4106    Accepted Submission(s): 1623

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
import java.util.Scanner;
import java.math.BigInteger;

public class yhrtr {

	public static void main(String[] args) {
		Scanner cin = new Scanner (System.in);
		BigInteger s[] = new BigInteger[1010];
		s[1] = new BigInteger("1");
		s[2] = new BigInteger("2");
		for(int i=3;i<=1005;i++)
			s[i] = s[i-1].add(s[i-2]);

		BigInteger a,b,c;
		while(cin.hasNext())
		{
			a = cin.nextBigInteger();
			b = cin.nextBigInteger();
			if(a.compareTo(BigInteger.ZERO)==0 && b.compareTo(BigInteger.ZERO)==0)
				return ;
			if(a.compareTo(b)>0)
			{
				c = a;
				a = b;
				b = c;
			}

			int sum = 0;
			for(int i=1;i<=1005;i++)
			{
				if(s[i].compareTo(a)>=0 && s[i].compareTo(b)<=0)
					sum++;
			}
			System.out.println(sum);
		}
	}
}

HDUJ 1316 How Many Fibs?

时间: 2024-10-09 00:37:58

HDUJ 1316 How Many Fibs?的相关文章

hdu 1316 How Many Fibs?

题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1316 How Many Fibs? Description Recall the definition of the Fibonacci numbers: $f_1 := 1$ $f_2 := 2$ $f_n := f_{n-1} + f_{n-2} \ \ (3 \leq n)$ Given two numbers a and b, calculate how many Fibonacci num

hdu 1316 How Many Fibs? (模拟高精度)

题目大意: 问[s,e]之间有多少个 斐波那契数. 思路分析: 直接模拟高精度字符串的加法和大小的比较. 注意wa点再 s 可以从 0 开始 那么要在判断输入结束的时候注意一下. #include <cstdio> #include <iostream> #include <cstring> #include <algorithm> using namespace std; struct node { char str[111]; int len; void

HDU 1316 How Many Fibs?(java,简单题,大数)

题目 /** * compareTo:根据该数值是小于.等于.或大于 val 返回 -1.0 或 1: public int compareTo(BigInteger val) 将此 BigInteger 与指定的 BigInteger 进行比较. 对于针对六个布尔比较运算符 (<, ==, >, >=, !=, <=)中的每一个运算符的各个方法,优先提供此方法. 执行这些比较的建议语句是:(x.compareTo(y) <op> 0), 其中 <op> 是

HDOJ 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): 3906    Accepted Submission(s): 1545 Problem Description Recall the definition of the Fibonacci numbers: f1 := 1 f2 :=

hdu 1316 How many Fibs?(高精度斐波那契数)

//  大数继续 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 cas

POJ 2413 How many Fibs? /HDOJ 1316 How Many Fibs?

题目来源:http://poj.org/problem?id=2413 / http://acm.hdu.edu.cn/showproblem.php?pid=1316 How many Fibs? Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10742   Accepted: 3979 Description Recall the definition of the Fibonacci numbers: f1 :=

HDU 1316 How Many Fibs? (大Fib数,还是Java大法好)

How Many Fibs? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5822    Accepted Submission(s): 2267 Problem Description Recall the definition of the Fibonacci numbers: f1 := 1 f2 := 2 fn := fn-

hdoj 1316 How Many Fibs? 【Java大数】+【打表】

现将前1000个的斐波那契数打表,然后再找就好了. 代码: import java.util.Scanner; import java.math.*; public class Main{ public static void main(String[] args){ Scanner cin = new Scanner(System.in); BigInteger[] s = new BigInteger[1005]; s[1] = new BigInteger("1"); s[2]

【HDOJ】1316 How Many Fibs?

Java水了. 1 import java.util.Scanner; 2 import java.math.BigInteger; 3 4 public class Main { 5 public static void main(String[] args) { 6 Scanner cin = new Scanner(System.in); 7 BigInteger[] fibs = new BigInteger[MAXN]; 8 // init the fibs 9 fibs[0] = B