Nələrdən danışacayıq?



Yüklə 165,54 Kb.
səhifə2/5
tarix02.01.2022
ölçüsü165,54 Kb.
#46610
1   2   3   4   5
Alqoritm

Eratosfen xəlbiri

1 #include

2 main()

3 {

4 unsigned char * A;

5 int i, k, N;

6 printf(“Maksimal ededi daxil edin: ”);

7 scanf(“%d”, &N);

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:


Yüklə 165,54 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin