#include #include #include #include #include #define ZAKRES 1000 //Sito Eratostenesa. Napisz program w C, który dla liczby całkowitej dodatniej n wypisze wszystkie liczby pierwsze mniejsze od n. // Tu powinny byc deklaracje funkcji int main() { int a; int i; int T[ZAKRES]; printf("To jest program na sito Eratostenesa.\n "); printf("Podaj liczbe calkowita z zakresu 2-999 i nacisnij Enter: "); scanf("%d",&a); if (a>ZAKRES) printf("Podales za duza liczbe \n"); for(i=0;i<=a;i++) T[i]=1; // wypelniamy tablice jedynkami (mozna uzyc takze malloc lub calloc) // ALGORYTMU START for (int i=2; i*i<=a; i++) if (T[i]==1) for (int j=2; i*j<=a; j++) //j - czyli wykreslamy wielokrotnosc i-tej T[i*j]=0; // pod T[i] mamy 1 gdy i jest liczba pierwsza, w przeciwnym wypadku 0 // ALGORYTMU STOP for (int i=2; i<=a; i++) { if (T[i]==1) printf("%d ", i); //if (T[i]==1) printf("%d - pierwsza\n", i); //else printf("%d - zlozona\n", i); } return 0; }