首页 > 代码库 > hdoj 1316 How Many Fibs? 【Java大数】+【打表】
hdoj 1316 How Many Fibs? 【Java大数】+【打表】
现将前1000个的斐波那契数打表,然后再找就好了。
代码:
import java.util.Scanner; import java.math.*; public class Main{ public static void main(String[] args){ Scanner cin = new Scanner(System.in); BigInteger[] s = new BigInteger[1005]; s[1] = new BigInteger("1"); s[2] = new BigInteger("2"); int i = 3; while(i < 1000){ s[i] = s[i-1].add(s[i-2]); //System.out.println(s[i]); i++; } BigInteger a, b, temp; temp = new BigInteger("0"); while(cin.hasNextBigInteger()){ a = cin.nextBigInteger(); b = cin.nextBigInteger(); if(a.compareTo(temp)== 0&&b.compareTo(temp)== 0) break; int ans = 0; i= 1; while((s[i].compareTo(a)) < 0){ i++;//System.out.println(i); } for(; s[i].compareTo(b) <= 0; i ++){ //System.out.println(i); ++ans; } System.out.println(ans); //a = cin.nextBigInteger(); //b = cin.nextBigInteger(); } } }
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1316
hdoj 1316 How Many Fibs? 【Java大数】+【打表】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。