小编Bra*_*n12的帖子

如何用C实现埃拉托色尼筛法算法?

在我的书中,Stephen G. Kochan 的《C 语言编程》(第四版)中,我有一个实现埃拉托斯特尼筛法算法的任务,如下所示:

\n

显示 1 到 n = 150 之间的所有素数

\n
    \n
  • 步骤1:定义一个整数数组P。将所有元素Pi设置为0,
  • \n
  • \n
         2 <= i <= n.\n
    Run Code Online (Sandbox Code Playgroud)\n
  • \n
  • 步骤 2:将 i 设置为 2。
  • \n
  • 步骤3:如果i > n,算法终止。
  • \n
  • 步骤 4:如果 Pi 为 0,则 i 为素数。
  • \n
  • 步骤5:对于j的所有正整数值,使得ixj \xe2\x89\xa4 n,
  • \n
  • \n
         set <sub>Pixj</sub> to 1.\n Step 6: Add 1 to i and go to step 3.\n
    Run Code Online (Sandbox Code Playgroud)\n
  • \n
\n

我理解广泛的概念,但很难理解算法中的步骤以及每个步骤的目的。

\n

问题:

\n
    \n
  1. 在步骤1中,将所有元素p[i]设置为0的目的是什么?数组元素不需要从 0 到 150 开始吗​​?

    \n
  2. \n
  3. 在步骤 4 …

c arrays algorithm primes pseudocode

2
推荐指数
1
解决办法
208
查看次数

标签 统计

algorithm ×1

arrays ×1

c ×1

primes ×1

pseudocode ×1