我在Haskell中编写了isPrime函数,并且不断收到诸如“函数isPrime中的非穷尽模式”之类的错误。我没有考虑什么情况?
isPrime :: Int -> Bool
isPrime 1 = False
isPrime 2 = True
isPrime n = (length [x | x<-[2 .. n-1], mod n x == 0]) > 0 = False
| otherwise = True
答案 0 :(得分:0)
代表@chi发帖
isPrime :: Int -> Bool
isPrime 1 = False
isPrime 2 = True
isPrime n
| (length [x | x<-[2 .. n-1], mod n x == 0]) > 0 = False
| otherwise = True
main = do
print (isPrime 7)
print (isPrime 8)
print (isPrime 9)
print (isPrime 10)
print (isPrime 11)
print (isPrime 12)
标准输出
True
False
False
False
True
False