假设我希望得到一个排序无限的所有素数列表,直到指数n.
我有一个函数来合并两个排序列表和一个给我素数的函数.
merge :: Ord t => [t] -> [t] -> [t]
merge (x:xs) (y:ys)
| (x <= y) = x : merge xs (y:ys)
| otherwise = y : merge (x:xs) ys
merge xs [] = xs
merge [] ys = ys
primes :: [Integer]
primes = sieve [2..]
where
sieve [] = []
sieve (p:xs) = p : sieve (filter (\x -> x `mod` p /= 0) xs)
Run Code Online (Sandbox Code Playgroud)
我有两个版本的listOfPrimepowers功能:
primepowers :: Integer -> [Integer] …Run Code Online (Sandbox Code Playgroud)