Haskell 中的模方程

Modular equations in Haskell

我想用一个变量求解 Haskell 中的线性和二次模方程。我现在这样做的方法是将 x = [1..] 一个一个地放入等式并找到余数(expr `rem` p == 0,如果等式是模 p (不一定是素数),其中expr 有变量 x)。我认为这是一个非常低效的过程。那么有没有更好的方法呢?

求解模二次方程涉及组合:

对于 Haskell arithmoi package has implementations of these algorithms. In particular, see the chineseRemainder, sqrtModP and sqrtModPP 函数。

在这里你可以找到一些有效的例子:

http://www.mersennewiki.org/index.php/Modular_Square_Root