加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

UVA - 10183 - How Many Fibs? (斐波那契 + 高精度)

发布时间:2020-12-13 20:46:43 所属栏目:PHP教程 来源:网络整理
导读:题目传送:UVA - 10183 思路:高精度就能够了,由于10^100之内的斐波那契数不多,根据公式来看,估计就500多,开个1000的数组足够啦,实现的话是用的java,注意这里的斐波那契是从1开始的,我1开始是从0开始的,wa了1下 AC代码: import java.util.Scanner;i


题目传送:UVA - 10183


思路:高精度就能够了,由于10^100之内的斐波那契数不多,根据公式来看,估计就500多,开个1000的数组足够啦,实现的话是用的java,注意这里的斐波那契是从1开始的,我1开始是从0开始的,wa了1下


AC代码:

import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); BigInteger a,b; BigInteger[] fibo = new BigInteger[1005]; fibo[0] = new BigInteger("1"); fibo[1] = new BigInteger("2"); for(int i = 2; i < 1005; i ++) { fibo[i] = fibo[i - 2].add(fibo[i - 1]); } while(true) { a = cin.nextBigInteger(); b = cin.nextBigInteger(); if(a.compareTo(BigInteger.ZERO) == 0 && b.compareTo(BigInteger.ZERO) == 0) { break; } int ans = 0; for(int i = 0; i < 1005; i ++) { if(fibo[i].compareTo(a) != ⑴ && fibo[i].compareTo(b) != 1) { ans ++; } } System.out.println(ans); } } }


















(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读