Primes 需要免费pascal中eratosthenes筛选的帮助吗

Primes 需要免费pascal中eratosthenes筛选的帮助吗,primes,pascal,sieve-of-eratosthenes,sieve,wheel-factorization,Primes,Pascal,Sieve Of Eratosthenes,Sieve,Wheel Factorization,我的老师给了我这个: n一个合适的埃拉托斯烯筛应在大约一秒钟内找到少于十亿的素数;这是可能的。如果您向我们展示您的代码,我们将很乐意帮助您找到问题所在 没有2,3,5轮标记的最小组合是49:下一个不是轮成员的最大素数是7,7*7=49。我现在做了,它在几毫秒内发现素数高达1000000,而没有显示所有这些数字。 声明一个由n+1布尔组成的数组(如果它是基于零的)。开始时,第0个和第1个元素为false,其他所有元素均为true(false不是素数)。 算法如下所示: i = 2; while i

我的老师给了我这个:


n一个合适的埃拉托斯烯筛应在大约一秒钟内找到少于十亿的素数;这是可能的。如果您向我们展示您的代码,我们将很乐意帮助您找到问题所在


没有2,3,5轮标记的最小组合是49:下一个不是轮成员的最大素数是7,7*7=49。

我现在做了,它在几毫秒内发现素数高达1000000,而没有显示所有这些数字。 声明一个由n+1布尔组成的数组(如果它是基于零的)。开始时,第0个和第1个元素为false,其他所有元素均为true(false不是素数)。 算法如下所示:

i = 2;
while i * i <= n
    if a[i] == true
        j = i * i;
        while j < n
            a[j] = false;
            j = j + i;
    i = i + 1;
i=2;

我看了一下,还有一个筛子的示例实现。这比轮子更容易。Free Pascal在demo/text/eratos.pp中附带了一个基本的筛子示例。轮子分解可能是赋值的关键。展示你已经拥有的东西会使评论更容易。