给定两个整数是否有一种简单的方法可以找到最大的同余模数?即%n == b%n,甚至列举所有这些?显然,我可以尝试比他们更少的每一个值,但似乎应该有一个更简单的方法。
我尝试用gcds做一些事情,但是你得到的东西是%n == b%n == 0,这并不像我希望的那样酷,而且我很确定这不是'必然是最大的n。
有什么想法吗?
答案 0 :(得分:4)
如果a和b是数字,那么我们考虑:
a = nx + r
b = ny + r
其中n是我们想要找到的模数,r是公共余数。所以,
a - b = n(x - y)
使用x - y = 1实现最大n。因此,
n = a - b
(如果我理解正确的话。)