斐波那契数列 大数加法hdu1316
来源:互联网 发布:comtrade数据库 编辑:程序博客网 时间:2024/05/18 02:45
A - How Many Fibs?
Crawling in process...Crawling failedTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description
我们定义斐波那契数列如下:
f1=1
f2=2
f(n)=f(n-1)+f(n-2)(n>=3)
现在,给定两个数a和b,计算有多少个斐波那契数列中的数在a和b之间(包含边界)。
Input
输入包含多组测试数据,每组测试数据都是两个非负整数a和b,当a和b都等于0时,程序结束。0<=a<=b<=10^100,注意a和b都不会出现前导0的情况(即首位为0)。
Output
输出在a和b之间(满足a<=f(i)<=b)数的数量。
Sample Input
10 100
1234567890 9876543210
0 0
Sample Output
5
4
这种题用传统的高精度太费时间,直接Java
import
java.io.*;
import java.math.BigInteger;
import java.util.*;
public classMain{
public static void main(String[] args){
Scanner cin=newScanner(System.in);
BigInteger a[]=new BigInteger[10500];
a[1]=BigInteger.ONE;
a[2]=BigInteger.valueOf(2);
for(int i=3; i<10500; i++)
a[i]=a[i-1].add(a[i-2]);
int sum;
while(cin.hasNextBigInteger()){
sum=0;
BigInteger x=cin.nextBigInteger();
BigInteger y=cin.nextBigInteger();
if(x.equals(BigInteger.ZERO)&&y.equals(BigInteger.ZERO))
break;
for(int i=1;i<10500; i++){
if(a[i].compareTo(x)>=0&&a[i].compareTo(y)<=0)
sum++;
}
System.out.println(sum);
}
}
}
0 0
- 斐波那契数列 大数加法hdu1316
- 斐波那契数列+大数加法
- 斐波那契数列大数加法
- 大数加法 + 斐波那契数列
- hdu1316(斐波那契数列+高精度)
- 循环-小蜜蜂-斐波那契数列-大数加法
- hdu1316(大数的斐波那契数)
- Java 大数之大数高精度斐波那契 UVA_10579&&HDU1316 How many Fibs?
- 用大数加法模板计算很大的斐波那契数列
- HDU 1865 1sting(大数斐波那契数列,模拟加法)
- HDU 1865 1sting 斐波那契数列 + 大数加法
- 大数斐波那契数列
- 斐波那契数列{大数问题}
- 大数斐波那契数列
- 大数相加+斐波那契数列
- java大数 斐波那契数列
- 斐波那契问题,基于大数加法
- 大数斐波那契数列+取余
- FILE文件流的中fopen、fread、fseek、fclose的使用
- 让每次弹出的div随页面的卷动而保持相对位置不变
- String,StringBuffer与StringBuilder的区别?
- 查找组成一个偶数最接近的两个素数
- 多台Mac用一个开发者帐号共同开发的方法(已解决)
- 斐波那契数列 大数加法hdu1316
- 怎么在div中创建子元素,删除子元素,删除所有的子元素
- iOS/Mac开发中各种锁的使用
- Android WiFi--系统架构(一)
- iOS -- UI常用组件总结
- 一个平庸程序员的自白
- java io流
- 我来了
- 黑马程序员——Java基础---数组与集合之间转换