我寻找一个好的算法JavaScript,因为我尝试使用node.js:
function modpow_3(a,n, module){
var u = BigInt('1');
var e = equals(a, u);
if( e) return a;
if(equalsZero(a)) return a;
if(pair(n)){
x= modpow_2(a, (divide(n, BigInt('2'))));
return mod(multiply(x,x), module);
}else{
x= modpow_2(a, (divide(subs(n, BigInt(1) ), BigInt('2'))));
return mod(multiply(multiply(x,x), a), module);
}
}
但我有一个错误: RangeError:超出最大调用堆栈大小