我想学习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