我想學習Haskell,我被困在遞歸問題。我需要做的是找到一個數字是否爲總數。這是我迄今的嘗試。但它不起作用。它爲非素數賦予「假」,但當素數爲質數時它會陷入無限循環。哈斯克爾:素數檢測器
isPrime :: Int -> Bool
isPrime num = primeTest num 2
where
primeTest :: Int -> Int -> Bool
primeTest num x
| x == num = True
| num `mod` x == 0 = False
| otherwise = primeTest num (x + 1)
where
x = 2
非常感謝。顯而易見的時候,我很頭疼,試圖查明什麼是錯的。我真的很喜歡它! –
@ user2850788不客氣。請考慮upvoting和接受這個答案,如果它可以幫助你。 http://meta.stackexchange.com/a/5235/235416 – thefourtheye