C++ Bc. 3: Porovnání verzí

Z GeoWikiCZ
Bez shrnutí editace
m (poznámka proč jednička není prvočíslo)
 
(Není zobrazeno 9 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
'''Eratosthenovo síto'''
;[http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes Eratosthenovo síto]


Napište funkci <tt>eratosthenovo_sito</tt>, která naplní standardní kontejner <tt>std::list<int></tt>, seznamem prvovočísel, která jsou menší nebo rovna ''N''.  
Napište funkci <tt>eratosthenovo_sito()</tt>, která naplní standardní kontejner <tt>std::vector<int></tt> seznamem prvovočísel, která jsou menší nebo rovna ''N''.  


  void erathosthenovo_sito(int N, std::list<int>& prvocisla);
  void erathosthenovo_sito (int N, std::vector<int>& prvocisla);


'''Algoritmus:''' Vytvoříme seznam přirozených čísel menších nebo rovno ''N''. První prvočíslo je  podle definice 1. Druhé prvočíslo je 2, označíme tedy v našem sezmanu všechny násobky čísla 2 (která z definice nemohou být prvočísly). Přejdeme na další neoznačené číslo v seznamu, tj. na číslo 3 a celý proces opakujeme, dokud není zpracován celý seznam.
Prvočísla jsou přirozená čísla, která jsou beze zbytku dělitelná jen dvěma děliteli: jedničkou a samo sebou (2, 3, 5, 7, 11, 13, ... ). Jednička není prvočíslo, protože nemá dva dělitele.


[ [[C plus plus Bc.|Zpět]] ]
'''Algoritmus:''' Vytvoříme seznam přirozených čísel menších nebo rovno ''N''. První prvočíslo je  podle definice 2, označíme tedy v našem seznamu všechny násobky čísla 2 (která z definice nemohou být prvočísly). Přejdeme na další neoznačené číslo v seznamu, tj. na číslo 3 a celý proces opakujeme, dokud není zpracován celý seznam.
 
[ [[C++ Bc.|Zpět]] | [[C++ Bc. 3 cpp|C++]] | [[C++ Bc. 4|Další]] ]
 
[[Kategorie:Programování]]

Aktuální verze z 14. 1. 2011, 09:01

Eratosthenovo síto

Napište funkci eratosthenovo_sito(), která naplní standardní kontejner std::vector<int> seznamem prvovočísel, která jsou menší nebo rovna N.

void erathosthenovo_sito (int N, std::vector<int>& prvocisla);

Prvočísla jsou přirozená čísla, která jsou beze zbytku dělitelná jen dvěma děliteli: jedničkou a samo sebou (2, 3, 5, 7, 11, 13, ... ). Jednička není prvočíslo, protože nemá dva dělitele.

Algoritmus: Vytvoříme seznam přirozených čísel menších nebo rovno N. První prvočíslo je podle definice 2, označíme tedy v našem seznamu všechny násobky čísla 2 (která z definice nemohou být prvočísly). Přejdeme na další neoznačené číslo v seznamu, tj. na číslo 3 a celý proces opakujeme, dokud není zpracován celý seznam.

[ Zpět | C++ | Další ]