C++ 程序实现埃拉托斯特尼筛法以在给定范围内生成素数
c++server side programmingprogramming更新于 2024/10/28 1:42:00
这是 C++ 程序实现埃拉托斯特尼筛法以在给定范围内生成素数。在此方法中,所有元素的整数数组初始化为零。
接下来,每个非素数元素的索引在嵌套循环中标记为 1。素数是索引标记为 0 的数。
算法
Begin 声明一个大小为 n 的数组并将其初始化为零 Declare length, i, j Read length For i = 2 to n-1 do For j = i*i to n-1 do Arr[j-1]=1 Done Done For i =1 to n do If(arr[i-1]==0) Print i Done End
示例代码
#include <iostream> const int len = 30; int main() { int arr[30] = {0}; for (int i = 2; i < 30; i++) { for (int j = i * i; j < 30; j+=i) { arr[j - 1] = 1; } } for (int i = 1; i < 30; i++) { if (arr[i - 1] == 0) std::cout << i << "\t"; } }
输出
1 2 3 5 7 11 13 17 19 23 29