BigInteger实际用法

一个题目: 用这样一组数字,0,1,1,2,3,5,8........,求第100个数是多少!看到这个题,会想到用一个int数组去做,但是内存溢出,后来换了long数组,还是一样,内存溢出, 跟上代码看看吧```


import java.math.BigInteger;
public class Test3 {
/**
* @param args
*/
public static void main(String[] args) {
int num = 100;
int[] intArr = new int[100];
intArr[0] = 0;
intArr[1] = 1;
long[] longArr = new long[100];
longArr[0] = 0L;
longArr[1] = 1L;
BigInteger bigArr[] = new BigInteger[100];
bigArr[0] = BigInteger.ZERO;
bigArr[1] = BigInteger.ONE;
for (int i = 2; i < num; i++) {
intArr[i] = intArr[i - 1] + intArr[i - 2];
longArr[i] = longArr[i - 1] + longArr[i - 2];
bigArr[i] = bigArr[i - 1].add(bigArr[i - 2]);
}
System.out.print("------用整形数组储存的结果-----------");
for (int i = 0; i < intArr.length; i++) {
System.out.println("intArr" + "[" + i + "]" + ":" + intArr[i]);
}
System.out.print("------用长整形数组储存的结果-----------");
for (int i = 0; i < longArr.length; i++) {
System.out.println("longArr" + "[" + i + "]" + ":" + longArr[i]);
}
System.out.print("------用BigInteger储存的结果-----------");
for (int i = 0; i < bigArr.length; i++) {
System.out.println("bigArr" + "[" + i + "]" + ":" + bigArr[i]);
}
}
}


------用整形数组储存的结果-----------intArr[0]:0
intArr[1]:1
intArr[2]:1
intArr[3]:2
intArr[4]:3
intArr[5]:5
intArr[6]:8
intArr[7]:13
intArr[8]:21
intArr[9]:34
intArr[10]:55
intArr[11]:89
intArr[12]:144
intArr[13]:233
intArr[14]:377
intArr[15]:610
intArr[16]:987
intArr[17]:1597
intArr[18]:2584
intArr[19]:4181
intArr[20]:6765
intArr[21]:10946
intArr[22]:17711
intArr[23]:28657
intArr[24]:46368
intArr[25]:75025
intArr[26]:121393
intArr[27]:196418
intArr[28]:317811
intArr[29]:514229
intArr[30]:832040
intArr[31]:1346269
intArr[32]:2178309
intArr[33]:3524578
intArr[34]:5702887
intArr[35]:9227465
intArr[36]:14930352
intArr[37]:24157817
intArr[38]:39088169
intArr[39]:63245986
intArr[40]:102334155
intArr[41]:165580141
intArr[42]:267914296
intArr[43]:433494437
intArr[44]:701408733
intArr[45]:1134903170
intArr[46]:1836311903
intArr[47]:-1323752223
intArr[48]:512559680
intArr[49]:-811192543
intArr[50]:-298632863
intArr[51]:-1109825406
intArr[52]:-1408458269
intArr[53]:1776683621
intArr[54]:368225352
intArr[55]:2144908973
intArr[56]:-1781832971
intArr[57]:363076002
intArr[58]:-1418756969
intArr[59]:-1055680967
intArr[60]:1820529360
intArr[61]:764848393
intArr[62]:-1709589543
intArr[63]:-944741150
intArr[64]:1640636603
intArr[65]:695895453
intArr[66]:-1958435240
intArr[67]:-1262539787
intArr[68]:1073992269
intArr[69]:-188547518
intArr[70]:885444751
intArr[71]:696897233
intArr[72]:1582341984
intArr[73]:-2015728079
intArr[74]:-433386095
intArr[75]:1845853122
intArr[76]:1412467027
intArr[77]:-1036647147
intArr[78]:375819880
intArr[79]:-660827267
intArr[80]:-285007387
intArr[81]:-945834654
intArr[82]:-1230842041
intArr[83]:2118290601
intArr[84]:887448560
intArr[85]:-1289228135
intArr[86]:-401779575
intArr[87]:-1691007710
intArr[88]:-2092787285
intArr[89]:511172301
intArr[90]:-1581614984
intArr[91]:-1070442683
intArr[92]:1642909629
intArr[93]:572466946
intArr[94]:-2079590721
intArr[95]:-1507123775
intArr[96]:708252800
intArr[97]:-798870975
intArr[98]:-90618175
intArr[99]:-889489150
------用长整形数组储存的结果-----------longArr[0]:0
longArr[1]:1
longArr[2]:1
longArr[3]:2
longArr[4]:3
longArr[5]:5
longArr[6]:8
longArr[7]:13
longArr[8]:21
longArr[9]:34
longArr[10]:55
longArr[11]:89
longArr[12]:144
longArr[13]:233
longArr[14]:377
longArr[15]:610
longArr[16]:987
longArr[17]:1597
longArr[18]:2584
longArr[19]:4181
longArr[20]:6765
longArr[21]:10946
longArr[22]:17711
longArr[23]:28657
longArr[24]:46368
longArr[25]:75025
longArr[26]:121393
longArr[27]:196418
longArr[28]:317811
longArr[29]:514229
longArr[30]:832040
longArr[31]:1346269
longArr[32]:2178309
longArr[33]:3524578
longArr[34]:5702887
longArr[35]:9227465
longArr[36]:14930352
longArr[37]:24157817
longArr[38]:39088169
longArr[39]:63245986
longArr[40]:102334155
longArr[41]:165580141
longArr[42]:267914296
longArr[43]:433494437
longArr[44]:701408733
longArr[45]:1134903170
longArr[46]:1836311903
longArr[47]:2971215073
longArr[48]:4807526976
longArr[49]:7778742049
longArr[50]:12586269025
longArr[51]:20365011074
longArr[52]:32951280099
longArr[53]:53316291173
longArr[54]:86267571272
longArr[55]:139583862445
longArr[56]:225851433717
longArr[57]:365435296162
longArr[58]:591286729879
longArr[59]:956722026041
longArr[60]:1548008755920
longArr[61]:2504730781961
longArr[62]:4052739537881
longArr[63]:6557470319842
longArr[64]:10610209857723
longArr[65]:17167680177565
longArr[66]:27777890035288
longArr[67]:44945570212853
longArr[68]:72723460248141
longArr[69]:117669030460994
longArr[70]:190392490709135
longArr[71]:308061521170129
longArr[72]:498454011879264
longArr[73]:806515533049393
longArr[74]:1304969544928657
longArr[75]:2111485077978050
longArr[76]:3416454622906707
longArr[77]:5527939700884757
longArr[78]:8944394323791464
longArr[79]:14472334024676221
longArr[80]:23416728348467685
longArr[81]:37889062373143906
longArr[82]:61305790721611591
longArr[83]:99194853094755497
longArr[84]:160500643816367088
longArr[85]:259695496911122585
longArr[86]:420196140727489673
longArr[87]:679891637638612258
longArr[88]:1100087778366101931
longArr[89]:1779979416004714189
longArr[90]:2880067194370816120
longArr[91]:4660046610375530309
longArr[92]:7540113804746346429
longArr[93]:-6246583658587674878
longArr[94]:1293530146158671551
longArr[95]:-4953053512429003327
longArr[96]:-3659523366270331776
longArr[97]:-8612576878699335103
longArr[98]:6174643828739884737
longArr[99]:-2437933049959450366
------用BigInteger储存的结果-----------bigArr[0]:0
bigArr[1]:1
bigArr[2]:1
bigArr[3]:2
bigArr[4]:3
bigArr[5]:5
bigArr[6]:8
bigArr[7]:13
bigArr[8]:21
bigArr[9]:34
bigArr[10]:55
bigArr[11]:89
bigArr[12]:144
bigArr[13]:233
bigArr[14]:377
bigArr[15]:610
bigArr[16]:987
bigArr[17]:1597
bigArr[18]:2584
bigArr[19]:4181
bigArr[20]:6765
bigArr[21]:10946
bigArr[22]:17711
bigArr[23]:28657
bigArr[24]:46368
bigArr[25]:75025
bigArr[26]:121393
bigArr[27]:196418
bigArr[28]:317811
bigArr[29]:514229
bigArr[30]:832040
bigArr[31]:1346269
bigArr[32]:2178309
bigArr[33]:3524578
bigArr[34]:5702887
bigArr[35]:9227465
bigArr[36]:14930352
bigArr[37]:24157817
bigArr[38]:39088169
bigArr[39]:63245986
bigArr[40]:102334155
bigArr[41]:165580141
bigArr[42]:267914296
bigArr[43]:433494437
bigArr[44]:701408733
bigArr[45]:1134903170
bigArr[46]:1836311903
bigArr[47]:2971215073
bigArr[48]:4807526976
bigArr[49]:7778742049
bigArr[50]:12586269025
bigArr[51]:20365011074
bigArr[52]:32951280099
bigArr[53]:53316291173
bigArr[54]:86267571272
bigArr[55]:139583862445
bigArr[56]:225851433717
bigArr[57]:365435296162
bigArr[58]:591286729879
bigArr[59]:956722026041
bigArr[60]:1548008755920
bigArr[61]:2504730781961
bigArr[62]:4052739537881
bigArr[63]:6557470319842
bigArr[64]:10610209857723
bigArr[65]:17167680177565
bigArr[66]:27777890035288
bigArr[67]:44945570212853
bigArr[68]:72723460248141
bigArr[69]:117669030460994
bigArr[70]:190392490709135
bigArr[71]:308061521170129
bigArr[72]:498454011879264
bigArr[73]:806515533049393
bigArr[74]:1304969544928657
bigArr[75]:2111485077978050
bigArr[76]:3416454622906707
bigArr[77]:5527939700884757
bigArr[78]:8944394323791464
bigArr[79]:14472334024676221
bigArr[80]:23416728348467685
bigArr[81]:37889062373143906
bigArr[82]:61305790721611591
bigArr[83]:99194853094755497
bigArr[84]:160500643816367088
bigArr[85]:259695496911122585
bigArr[86]:420196140727489673
bigArr[87]:679891637638612258
bigArr[88]:1100087778366101931
bigArr[89]:1779979416004714189
bigArr[90]:2880067194370816120
bigArr[91]:4660046610375530309
bigArr[92]:7540113804746346429
bigArr[93]:12200160415121876738
bigArr[94]:19740274219868223167
bigArr[95]:31940434634990099905
bigArr[96]:51680708854858323072
bigArr[97]:83621143489848422977
bigArr[98]:135301852344706746049
bigArr[99]:218922995834555169026

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值