C++ 程式,實現埃拉託斯特尼篩法在給定範圍內生成素數
這是 C++ 程式,用於實現埃拉託斯特尼篩法在給定範圍內生成素數。此方法中,所有元素都初始化為零的整數陣列。
它遵循每個非素數元素索引在巢狀迴圈中標記為 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 <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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP