亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

JavaScript:幾何和的 BigInteger 實現

JavaScript:幾何和的 BigInteger 實現

森林海 2022-11-03 10:01:06
假設我在這里有這個等式:a * (1 - r ^ n) / (1 - r)基本上,它是幾何數列之和的公式。在我們的例子中,r是一個小數(浮點數)。我期望得到的數字大于最大安全整數,因此必須使用 BigInt。幾何和是否有 BigInt 實現?提前致謝!這是我嘗試過的:function geoSum(a, r, n) {   return BigInt(a * ((1 - r ** n) / (1 - n)));   }Infinity在它可以轉換為 BigInt 之前,它已經變成了。提前致謝!
查看完整描述

2 回答

?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

您應該在應用操作BigInt 之前將每個參數轉換為:


function geoSum(a, r, n) {

  const an = BigInt(a);

  const rn = BigInt(r);

  const nn = BigInt(n);


  return an * ((1n - rn ** nn) / (1n - nn));

}


const result = geoSum(150, 151, 152);


console.log(String(result));

console.log(Number(result));


查看完整回答
反對 回復 2022-11-03
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

我只是用BigInt.


function geoSum(a, r, n) {

  return BigInt(BigInt(a) * (BigInt(BigInt(1) - BigInt(BigInt(r) ** BigInt(n))) /

         BigInt(BigInt(1) - BigInt(n))));

}

geoSum(2,5,10)

回來:


2170138n

我不知道結果對你是否有意義。


查看完整回答
反對 回復 2022-11-03
  • 2 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號