我正在尝试通过递归来实现素数,我知道如何使用列表来实现。
函数绑定中的类型错误
primes :: [Int]
primes = sieve [2..10]
sieve[] = []
sieve(x:xs) = x : sieve (filter p [xs])
where p x = xs `mod` x > 0
我也尝试过使用地图并在应用程序中出现类型错误
primes :: [Int]
primes = sieve [2..10]
sieve[] = []
sieve(x:xs) = x : sieve (map (`mod` x > 0) [xs])
我正在尝试实现类似于我们对列表所做的事情
sieve (a:x) = a:sieve [y| y<-x, y`mod`a > 0]