实现 Eratosthenes 筛分以生成给定范围之间的质数的 C++ 程序
这是C++程序,用于实现Eratosthenes筛分以生成给定范围之间的素数。在此方法中,包含所有元素的整数数组初始化为零。
它遵循每个非主要元素的索引在嵌套循环内标记为1的位置。质数是那些索引标记为0的数。
算法
Begin
Declare an array of size n and initialize it to zero
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输出结果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
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短