Javascriptは大きな整数を誤って計算します[重複]
Aug 20 2020
数式10 ^(a-1)-1 mod a = 0に関するプログラムを作成しています。ただし、Javascriptを使用する場合、23を超える数値では機能しません。例:
var b = 29
var a = Math.pow(10, b-1)
console.log(a);
console.log(a/b);
console.log(a % b)
これは出力です:
1e+28
3.448275862068965e+26
14
モジュロ関数の出力は1である必要があります。計算を正しく解決する方法はありますか?
回答
1 iota Aug 20 2020 at 13:01
を使用できますBigInt
。
var b = 29n;
var a = 10n ** (b - 1n);
console.log(a.toString());
console.log((a/b).toString());
console.log((a % b).toString());