小编sch*_*chi的帖子

输入'where'时解析错误

我正在尝试“解决”给定d: 的佩尔方程x^2 - d * y^2 = 1,或者至少我想得到x > 0可以解决方程的最小值。到现在为止还挺好。这是我的 Haskell 代码

minX :: Integer -> Integer
minX n  | isSquare n = 1
        | otherwise  = minXRec [0,1,intSqrt n] [1,0,1] 0 1 (intSqrt n) n

minXRec :: [Integer] -> [Integer] -> Integer -> Integer -> Integer -> Integer -> Integer
minXRec (p0:p1:p2:x) (q0:q1:q2:y) m d a n
    | p2*p2 - n*q2*q2 == 1 = p2
    | minXRec [p1, p2, newA*p2+p1] [q1, q2, newA*q2+q1] …
Run Code Online (Sandbox Code Playgroud)

haskell where-clause

3
推荐指数
1
解决办法
2572
查看次数

标签 统计

haskell ×1

where-clause ×1