poj2413 java处理Fibonacci数前500位

来源:互联网 发布:你难忘的事情 知乎 编辑:程序博客网 时间:2024/06/04 23:34
import java.math.BigInteger;  import java.util.Scanner; public class Main {public static void main(String args[]){Scanner cin=new Scanner(System.in);BigInteger[] f = new BigInteger[501];f[1] = new BigInteger("1");f[2] = new BigInteger("2");for(int i = 3; i < 501; i++) {f[i] = f[i-1].add(f[i-2]);}BigInteger zero = new BigInteger("0");  // 定义一个大数类型 0;while(cin.hasNext()){ int ans = 0;BigInteger a = cin.nextBigInteger();BigInteger b = cin.nextBigInteger();//System.out.println(a + "   " + b);if(a.compareTo(zero) == 0 && b.compareTo(zero) == 0) //compareTo() 相等还回 0, 小于还回-1,  大于还回1break;  for(int i = 1; i < 501; i++) {    if((f[i].compareTo(a) == 1 || f[i].compareTo(a) == 0) && (f[i].compareTo(b) == -1 || f[i].compareTo(b) == 0))  ans++;  }  System.out.println(ans);}       }}

0 0