นี่คือโปรแกรม C ++ ที่ใช้ Sieve of Eratosthenes เพื่อสร้าง Prime Numbers ระหว่างช่วงที่กำหนด ในวิธีนี้ อาร์เรย์จำนวนเต็มที่มีองค์ประกอบทั้งหมดจะเริ่มต้นเป็นศูนย์
ตามหลังโดยที่ดัชนีขององค์ประกอบที่ไม่ใช่ไพรม์แต่ละรายการถูกทำเครื่องหมายเป็น 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