8 A = new unsigned char[N+1]; // yaddaşda massivə yer ayrılması
9 if(A == NULL) return 1; // səhv olduğu halda çıxış
10 for(i = 1; i <= N; i++) A[i] = 1;
11 for(k = 2; k * k <= N; k++)
12 if(A[k] != 0)
13 for(i = k + k; i <= N; i += k) A[i] = 0
14 for(i = 1; i <= N; i++)
15 if(A[i] = 1) printf(“%d”, i);
16 }
(1,N) intervalında yerləşən bütün sadə ədədlərin təyini ilə bağlı indiyədək ən sürətlə işləyən alqoritm Eratosfenə məxsusdur. Əfsanəyə görə, Eratosfen bütün natural ədədləri papirusda sıraya düzüb, hər ikinci ədədi deşirdi (yəni 2-ə bölünəni). Sonra o, hər üçüncü, dördüncü və s. ədədləri deşmişdi. Bu proseduradan sonra qalan “deşilməmiş” ədədlər sadə ədədlərdir, yəni onlar yalnız özlərinə və 1-ə bölünürlər. Papirusun əvəzinə A massivindən istifadə edək. Bu massivdə A[i] elementi (i = (1,N)) iki mümkün qiymət ala bilir: