在我正在为功能编程课程所做的练习中,我被要求找到最低的x x mod a = b,给予一系列对(a, b).
在我给出三对(元组)的情况下,我使用以下代码:
solveModularEq :: [(Integer,Integer)] -> Integer
solveModularEq [(a),(b),(c)] = lowestModThree(fst(a) snd(a) fst(b) snd(b) fst(c) snd(c) 1)
lowestModThree :: Integer -> Integer -> Integer -> Integer -> Integer ->
Integer -> Integer -> Integer
lowestModThree a b c aa bb cc k
| k `mod` a == aa && k `mod` b == bb && k `mod` c == cc = k
| k > (aa * bb * cc) = …Run Code Online (Sandbox Code Playgroud)