3

我需要找到一个x满足的值:

x * a % m == b
x * c % n == d

有没有更聪明的方法来找到解决方案而无需迭代所有可能性?

function solve()
{
    for (x=0;x<n*m-1;x++)
    {
        if((x * a % m == b) && (x * c % n == d))
             return true;
    }
    return false;
}
4

1 回答 1

1

由于这两个方程之间没有直接相关性(未知的 X 除外),我认为您无法以非常聪明的方式解决它。但是,也许您应该看看https://en.wikipedia.org/wiki/Chinese_remainder_theorem。这不会为主题本身提供答案,但可以引导您找到一些替代方案。

于 2016-11-23T10:58:28.723 回答