作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要一个 A mod B 的算法
大,我的意思是 1000 位。
最佳答案
要计算一个模 n 的数,给定一个函数来计算除以 (n+1) 时的商和余数,首先要对该数加 1。然后,只要数字大于'n',迭代:
number = (number div (n+1)) + (number mod (n+1))最后在最后,减一。在开头加一并在结尾减一的替代方法是检查结果是否等于 n,如果是则返回零。
例如,给定一个除以 10 的函数,可以这样计算 12345678 mod 9:
12345679 -> 1234567 + 9 1234576 -> 123457 + 6 123463 -> 12346 + 3 12349 -> 1234 + 9 1243 -> 124 + 3 127 -> 12 + 7 19 -> 1 + 9 10 -> 1
减 1,结果为零。
关于algorithm - 如何取两个非常大的数的模数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3999227/
我是一名优秀的程序员,十分优秀!