HPU多校题-A 又是斐波那契数列??

题目链接:http://pipakaca.com/problem.php?cid=1037&pid=0

这道题对JAVA选手非常友好,JAVA里面有大数可以直接调用,而且也有写好的二分查找:

import java.math.*;
import java.util.*;
public class Main {
	public static void main(String[] args){
		BigInteger arr[]=new BigInteger[10010];      //数组存储fib某一位
		arr[0]=BigInteger.ZERO;
		arr[1]=BigInteger.ONE;
		for(int i=2;i<arr.length;i++)
			arr[i]=arr[i-1].add(arr[i-2]);
		Scanner sc=new Scanner(System.in);
		int t=sc.nextInt();
		while(t--!=0){
			BigInteger a=sc.nextBigInteger();
			int ans=Arrays.binarySearch(arr,a);      //二分查找位置
			
			System.out.println(ans==1?2:ans);
		}
	}
}
 

猜你喜欢

转载自blog.csdn.net/King8611/article/details/81271860