【问题标题】:Finding the largest modulus of congruence for two integers?找到两个整数的最大同余模数?
【发布时间】:2011-10-25 16:56:36
【问题描述】:

给定两个整数,有没有一种简单的方法可以找到它们的最大同余模数?即a % n == b %n,或者甚至枚举所有这些?显然,我可以尝试比它们少的每个值,但似乎应该有更简单的方法。

我尝试用 gcds 做一些事情,但是你得到的只是 a % n == b % n == 0,这并不像我希望的那么酷,我很确定这不是t 必然是最大的 n。

有什么想法吗?

【问题讨论】:

    标签: math computer-science modulo number-theory


    【解决方案1】:

    如果 a 和 b 是数字,那么我们考虑:

    a = nx + r
    b = ny + r
    

    n 是我们要求的模数,r 是公余数。所以,

    a - b = n(x - y)
    

    最大 n 是通过 x - y = 1 实现的。所以,

    n = a - b
    

    (如果我理解正确的话。)

    【讨论】:

    • 是的,这正是我想要的。两者之间的差异是一个有效的模数是有道理的,对我来说这是最大值并不明显。谢谢!
    • 酷 :) 只需确保检查 a = b 的退化情况,在这种情况下 n 将计算为 0,这是没有意义的。在这种情况下,“真实的”n 当然是“a”(或“b”)。
    • 很好,布赖恩。我应该说这是一个假设。 :)
    猜你喜欢
    • 2016-02-15
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多