Mateusz Mazurek – programista z pasją

Python, architektura, ciekawostki ze świata IT

Algorytmika Programowanie

Sito Eratostenesa [C++]

Cześć! Cieszę się, że mnie odwiedziłeś/aś. Zanim przejdziesz do artykułu chciałbym zwrocić Ci uwagę na to, że ten artykuł był pisany kilka lat temu (2013-02-15) miej więc proszę na uwadzę że rozwiązania i przemyślenia które tu znajdziesz nie muszą być aktualne. Niemniej jednak zachęcam do przeczytania.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <math.h>
#include <time.h>
#include<stdio.h>
using namespace std;

int main(){


    int n =100;

    bool* firsts = new bool[n];
    int i;
    for( i=0;i<n;i++)
        firsts[i]=true;


    for(i=2;i<=sqrt(n);i++){

        for(int a=2*i;a<=n;a=a+i)
            firsts[a]=false;

    }



    for(i=2;i<n;i++)
    {
        if(firsts[i] == true)
        cout<<i<< "  ";
    }
    delete[] firsts ;
    return 0;
}

Nie mam tutaj dużo do wyjaśniania. Sam algorytm znajdziecie w google bez problemu, nie ma sensu powielać tekstu.

Dzięki za wizytę,
Mateusz Mazurek

A może wolisz nowości na mail?

Subskrybuj
Powiadom o
guest

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

3 komentarzy
Inline Feedbacks
View all comments

Takie zadanie dostałam na kursie ze wstępu do informatyki, dzięki :)

Kaczus

Niepotrzebnie użyty operator new dodatkowo niezwolniona pamięć – Popraw to, bo brzydko wygląda błędny program jako przykład!