HDU1316 How Many Fibs? 【大数】
发布时间:2020-12-14 03:39:11 所属栏目:大数据 来源:网络整理
导读:原题链接 import java.util.Scanner;import java.math.BigInteger;public class Main{static final int max = 500;static BigInteger[] arr = new BigInteger[max];public static void main(String[] args){Scanner cin = new Scanner(System.in);BigInteger
原题链接 import java.util.Scanner; import java.math.BigInteger; public class Main{ static final int max = 500; static BigInteger[] arr = new BigInteger[max]; public static void main(String[] args){ Scanner cin = new Scanner(System.in); BigInteger a,b; int i,l,r; arr[1] = BigInteger.ONE; arr[2] = BigInteger.valueOf(2); for(i = 3; i != max; ++i) arr[i] = arr[i - 1].add(arr[i - 2]); while(true){ a = cin.nextBigInteger(); b = cin.nextBigInteger(); if(a.compareTo(BigInteger.ZERO) == 0 && b.compareTo(BigInteger.ZERO) == 0) break; l = binarySearch1(a); r = binarySearch2(b); System.out.println(r - l); } } public static int binarySearch1(BigInteger n){ int i; for(i = 1; i < max; ++i) if(arr[i].compareTo(n) >= 0) return i; return 0; } public static int binarySearch2(BigInteger n){ int i; for(i = 1; i < max; ++i) if(arr[i].compareTo(n) > 0) return i; return 0; } }
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |