哈斯克尔:( Eratothenese的筛子)获得筛子的第一个n素数

时间:2016-03-02 03:01:01

标签: list haskell sieve

假设我有一个表达式如下:

[2] ++ sieve [3,5..] where
    sieve (p:xs) = p : sieve [i | i <- xs, i `mod` p /= 0]

如何(在函数中)获取此列表的第一个 n 元素?我知道take函数,但我无法弄清楚如何在这种情况下使用它。

我知道这个表达式会创建一个无限的素数列表。我想弄清楚提取第一个 n 素数。

0 个答案:

没有答案