Advertisement
youuw

7.c

Dec 6th, 2021
1,102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.04 KB | None | 0 0
  1. /*
  2. Zadanie 7. Napisz program generujacy ciag liczb pierwszych od 0 do n metoda sita Eratostanesa. Liczby powinny by¢ umieszczone w tablicy o stosownym rozmiarze, a nastepnie wyswietlone na ekranie monitora.
  3. */
  4.  
  5. #include <stdio.h>
  6. #include <conio.h>
  7. #include <math.h>
  8.  
  9.  
  10. int main() {
  11.     int zakres, j;
  12.     int tablica[10000];
  13.     printf("Podaj gorny zakres, do ktorego chcesz odnalezc liczby pierwsze\n");
  14.     scanf("%d",&zakres);
  15.     int dokad=floor(sqrt(zakres));
  16.     //inicjuj tablice
  17.     for (int i=1; i<=zakres; i++) tablica[i]=1;
  18.         //algorytm - sito eratostenesa
  19.     for (int i=2; i<=dokad; i++)
  20.     {
  21.         if (tablica[i] != 0)
  22.         {
  23.             j = i+i;
  24.             while (j<=zakres)
  25.             {
  26.                 tablica[j] = 0;
  27.                 j += i;
  28.             }
  29.         }
  30.     }
  31.     //wypisz wynik
  32.     printf("Liczby pierwsze z zakresu od 1 do %d\n\n",zakres);
  33.     if (tablica[2]!=0) printf("%d", 2);
  34.     for (int i=3; i<=zakres; i++) if (tablica[i]!=0) printf("\t%d",i);
  35.     printf("\n");
  36.  
  37.     return 0;
  38. }
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement