logowanie

matematyka » arytmetyka » liczby pierwsze » sito eratostenesa » algorytm

Algorytm generujący liczby pierwsze - Sito Eratostenesa

Przedstawiony niżej przykład napisany jest w języku C++ i testowany w środowisku DevC++. Aby kod ten zamienić na program, należy go skompilować w wyżej wymienionym środowisku.


#include <iostream>
#include <math.h>
#include <stdlib.h>

using namespace std;
//----------------- www.math.edu.pl ------------------

int main(void)
{
  unsigned long i, n, count = 0;

  cout << "Sito Eratostenesa" << endl;
  cout << "Podaj górną granicę: ";
  cin >> n;
  cout << endl;

  int *a = new int;

  if (a == 0)
  {
    cout << "Za mało pamięci" << endl;
     return 0;
  }

   for (i = 2; i < n; i++) a = true;

    for (i = 2; i < n; i++)
     if (a)
      for (int j = i; j*i < n; j++) a = false;

    for (i = 2; i < n; i++)
     if (a)
     {
      count++;
      cout << i << " ";
     }

  cout << endl << "Liczba liczb pierwszych: " << count << endl;

 system("PAUSE");
 return 0;
}
//----------------- www.math.edu.pl ------------------




© 2018 Mariusz Śliwiński      o serwisie | kontakt online: 71 drukuj