- 论坛徽章:
- 0
|
请看代码
- qsort :: Ord a=> [a] -> [a]
- qsort [] = []
- qsort (x:xs) = qsort larger ++ [x] ++ qsort smaller
- where
- smaller =[ a|a <- xs,a<=x]
- larger = [ a| a <- xs ,a>x]
- maxGYS :: Int -> Int -> Int --求最大公约数
- maxGYS m n
- | abs m < abs n = head [x | x <- qsort [1.. (abs m)],m`mod` x==0, n`mod` x==0]
- | m == n = abs m
- | abs m > abs n =head [ x| x <- qsort[1.. (abs n)] , m`mod` x==0, n`mod` x==0]
-
复制代码
当我输入 maxGYS -1 -3 时,winhugs的出错信息是
ERROR - Cannot infer instance
*** Instance : Num (Int -> Int -> Int)
*** Expression : maxGYS - 1 - 3
|
|