我在自己的BigInteger库中使用JavaScript,我对mod函数的复杂性有疑问。
// r = big1 - (big2 * (big1/big2))
function mod(big1, big2){
return subs(big1, multiply(big2, divide(big1,big2)));
}
答案 0 :(得分:0)
// r = b1%b2
另一种方法是按部件操作模数(比如你的数字限制是每个数字9位数,并说b2 <100):
最终结果是b1%b2。如果b2非常大,这将无效,但如果只有b1非常大,你可以将它视为一个字符串,用于算法。
编码它应该很容易迭代,因为你可以预先知道迭代次数,甚至不需要递归。