C++ Bc. 3: Porovnání verzí
m +kategorie programovani |
m odkaz na wikipedii |
||
Řádek 1: | Řádek 1: | ||
==== [http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes Eratosthenovo síto] ==== | |||
Napište funkci <tt>eratosthenovo_sito()</tt>, která naplní standardní kontejner <tt>std::vector<int></tt> | 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::vector<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 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. | '''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 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. |
Verze z 10. 10. 2006, 12:47
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);
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 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.