How many Fibs?(java)

来源:互联网 发布:c语言读文本文件 编辑:程序博客网 时间:2024/05/01 22:18

题目大意:给定一个范围a,b为再次范围内有多少的斐波那契额数.


思路:直接上java搞,注意在java中的a==0&&b==0程序停止的写法.


import java.util.*;import java.io.*;import java.math.*;public class Main{  static BigInteger[] ans;public static void main(String[] args){ans=new BigInteger[1010];Scanner cin=new Scanner(System.in);int n,i;ans[1]=BigInteger.valueOf(1);ans[2]=BigInteger.valueOf(2);for(i=3;i<=1000;i++){ans[i]=ans[i-1].add(ans[i-2]);}BigInteger a,b;while(true){a=cin.nextBigInteger();b=cin.nextBigInteger();if(a.compareTo(b)==0&&a.compareTo(BigInteger.valueOf(0))==0)break;int tmp;i=1;tmp=0;while(ans[i].compareTo(a)<0)i++;while(ans[i].compareTo(b)<=0&&ans[i].compareTo(a)>=0){tmp++;i++;}System.out.println(tmp);}}}


0 0
原创粉丝点击