자바 스크립트가 큰 정수를 잘못 계산 함 [중복]

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());