第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

// 計(jì)算1!+2!+3!+4!+.....+100!

// 計(jì)算1!+2!+3!+4!+.....+100!

Chengl 2016-10-19 20:20:31
long?sum?=?0; ????????for?(int?i?=?1;?i?<=100;?i++)?{ ????????????long?item=1; ????????????for(int?j=1;j<=i;j++){ ????????????????item=item*j; ????????????} ????????????sum=sum+item; ????????} ????????System.out.println(sum);輸出結(jié)果:1005876315485501977經(jīng)過分析,這個(gè)答案是錯(cuò)誤的,1!+2!+3!+4!+.....+100!的結(jié)果的個(gè)位數(shù)肯定是3的,上面的代碼的邏輯的問題都沒有問題,驗(yàn)算過。錯(cuò)誤的地方是item變量,我把它設(shè)置為long類型,就出現(xiàn)了1005876315485501977這個(gè)結(jié)果,為什么不可設(shè)置成long類型?求解我把item變量設(shè)置成int類型,結(jié)果溢出,100階乘的和超過long的內(nèi)存空間,采用BigInteger類去操作,輸出結(jié)果正確。不懂的就是為什么item變量類型不可以設(shè)置成long類型。朋友,解答一下。thx
查看完整描述

1 回答

已采納
?
大咪

TA貢獻(xiàn)785條經(jīng)驗(yàn) 獲得超332個(gè)贊

因?yàn)閘ong類型最多只支持2^63-1...可惜你這個(gè)階乘中途就已經(jīng)溢出了,必然會報(bào)錯(cuò),我剛才上網(wǎng)查了一下數(shù)據(jù)。階乘到13就已經(jīng)溢出了。

13!=1932053504(錯(cuò)誤)應(yīng)該是?6227020800

所以,一般來說計(jì)算大數(shù)據(jù)直接用BigInteger去算就好,目前來看都可以滿足,原則上是,只要你的計(jì)算機(jī)的內(nèi)存足夠大,可
以有無限位的


查看完整回答
1 反對 回復(fù) 2016-10-19
  • 1 回答
  • 1 關(guān)注
  • 2513 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號