Сообщение от Hokage777
|
как решать подобную проблему помимо использования BigInt, который не дает делить по модулю из-за разницы типов ?
|
Всё таки даёт...
function powToMod(base, power, module) {
if(power === 1n) return base;
if(power % 2n === 0n) return powToMod(base, power / 2n, module) ** 2n % module;
return powToMod(base, power - 1n, module) * base % module;
}
alert(powToMod(366142356n, 1447804911n, 219020071n));
Alexandroppolus, проверьте свой алгоритм, powToMod(366142356n, 1447804911n, 219020071n) должно выдавать 38504623
Проверял также тут —
https://www.wolframalpha.com/input/?...11mod219020071