SHARE
TWEET

Untitled

a guest Oct 21st, 2019 65 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. //sito eratostenesa
  6. //algorytm ktory wyznacza liczby pierwszy z przedzialu liczb naturalnych od 2 do n
  7.  
  8. //napisz funkcje ktora wyznacza i wyswietla liczby pierwsze z przedzialu [2,10]
  9.  
  10.  
  11. void sitoN(int n){
  12.     int tab[n+1];
  13.     //inicjalizacja tablicy
  14.     for(int i=2;i<=n;i++){
  15.         tab[i]=i;
  16.     }
  17.     //indeksy      0 1 2 3 4 5 6 7 8 9 10
  18.  
  19.     int wielokrotnosc;
  20.    
  21.     for(int i=2;i*2<=n;i++){
  22.            
  23.         if(tab[i]==0){//nie eliminujemy wielkrotnosci liczb ktore wczesniej zostaly wyeliminowane
  24.             break;
  25.         }
  26.         wielokrotnosc=i*2; //pierwsza wielokrotnosc
  27.    
  28.        
  29.         do {
  30.             tab[wielokrotnosc]=0; //skreslanie wielokrotnosci (liczb zlozonych)
  31.             wielokrotnosc=wielokrotnosc+i; //kolejna wielokrotnosc
  32.         }while(wielokrotnosc<=n);
  33.     }
  34.     //wyswietlamy liczby pierwsze (to co zostalo z tablicy)
  35.     for(int i=2;i<=n;i++){
  36.         if(tab[i]!=0){
  37.             cout<<i<<" ,";
  38.         }
  39.     }
  40. }
  41.  
  42.  
  43. int main(){
  44.     start:
  45.     cout<<"podaj n: "<<endl;
  46.     int n;
  47.     cin>>n;
  48. sitoN(n);
  49. goto start;
  50.     system("pause");
  51.     return 0;
  52. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top