指定された数値以下のすべての素数のリストを返すプロシージャを作成しようとしています。
例えば:
Prelude>primes 8
[2,3,5,7]
取得したファイルを読み込もうとすると、Parse error in pattern Failed, modules loaded: none.
誰かが私を正しい方向に向けることができれば、感謝します。
primes :: Int -> [Int]
primes x < 2 = []
primes x | isPrime x == True = primes (x - 1) ++ x
| otherwise = primes (x - 1)
isPrime :: Int -> Bool
isPrime x | x < 2 = False
| x == 2 || x == 3 = True
| divEven x == True = False
| divOdd x 3 == True = False
| otherwise = True
divEven :: Int -> Bool
divEven x | mod x 2 == 0 = True
| otherwise = False
divOdd :: Int Int -> Bool
divOdd x num | mod x num == 0 == True
| num <= x/2 = divOdd x (num + 2)
| otherwise = False