Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 欧氏除法的余数_Javascript_Algorithm_Biginteger - Fatal编程技术网

Javascript 欧氏除法的余数

Javascript 欧氏除法的余数,javascript,algorithm,biginteger,Javascript,Algorithm,Biginteger,我将JavaScript与我自己的BigInteger库一起使用,我对mod函数的复杂性有一个问题 // r = big1 - (big2 * (big1/big2)) function mod(big1, big2){ return subs(big1, multiply(big2, divide(big1,big2))); } //r=b1%b2 另一种方法是按部分计算模数(假设您对一个数字的限制为每个数字9位,假设b2

我将JavaScript与我自己的BigInteger库一起使用,我对mod函数的复杂性有一个问题

// r = big1 - (big2 * (big1/big2))
function mod(big1, big2){
return subs(big1, multiply(big2, divide(big1,big2))); 
}
//r=b1%b2

另一种方法是按部分计算模数(假设您对一个数字的限制为每个数字9位,假设b2<100):

  • 从b1最左边的数字开始,用前9位数字构造一个数字,并称之为N
  • 计算N mod b2,给出范围为00到99的结果(记住示例为b2<100)
  • 通过将上述结果(步骤2)与b1的后续7位连接起来,构造一个新的9位N。如果b1中剩余的位数不到7位,但至少有一位,则根据上述结果(步骤2)构造一个新的N,该N将少于9位,后跟b1的剩余位数
  • 重复步骤2-3,直到b1的所有数字都已处理完毕
  • 最终结果为b1%b2。如果b2也非常大,这将不起作用,但如果只有b1非常大,您可以将其视为用于算法的字符串


    使用迭代编写代码应该很容易,因为您可以事先知道迭代次数,甚至不需要递归。

    到底是什么问题?请用所有细节编辑您的问题,具体一点。您有什么问题?您的划分是如何实现的?也许你已经把mod算作副作用了。