永发信息网

(Java)有如下规律的一组数字,求该组数字的第137位 a)1 1 2 3 5 8 13 21 34 55 答案是?

答案:1  悬赏:10  手机版
解决时间 2021-03-25 22:04
  • 提问者网友:欲劫无渡
  • 2021-03-25 18:16
(Java)有如下规律的一组数字,求该组数字的第137位 a)1 1 2 3 5 8 13 21 34 55 答案是?
最佳答案
  • 五星知识达人网友:一袍清酒付
  • 2021-03-25 19:49
你得出的结果是数据溢出的结果,因为两个正整数相加不可能是负数.
这道题实际是求斐波那契数列的第137项(题目给出的数列是斐波那契数列),对于这么大的数,必须要用Java语言的BigInteger类,完整的Java程序如下
import java.math.BigInteger;

public class A { 

 public static void main(String[] args) { 

  int n=137,i=2;

  BigInteger a=new BigInteger("1");

  BigInteger b=new BigInteger("1");

  BigInteger fn=new BigInteger("0");

  while(i
   fn=a.add(b);

   a=b;

   b=fn;

   i++;

  }

  System.out.println(fn);

 } 




运行结果
19134702400093278081449423917追问我们老师倒是没说过 BigInteger。。这题只有这个解答方法嘛?追答是的,只有用Java数学包提供的BigInteger类(一般用于整数)或者BigDecimal类(一般用于小数),才能处理这么大的数,long(长整型)已经不够用了,用了也会溢出,就是出现负数的情况.追问好的谢谢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯