NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 14 - Eratosthenovo síto

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:20.8.2012 13:41

Pěkné, jednoduché a účinné. Profesor na matematiku nám říkal, že existují i vzorce, které vrátí všechna prvočísla a fungují do určitého rozsahu. Pokud vím, tak rovnice co pokryje všechna prvočísla je zatím mezi nejhledanějšími problémy a snad je za ni i peněžní odměna.

Odpovědět
20.8.2012 13:41
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Drahomír Hanák:20.8.2012 13:48

Díky, Eratosthenovo síto je vhodné do 10.000.000. Pak už by se měly použít jiné metody.

 
Odpovědět
20.8.2012 13:48
Avatar
Kit
Tvůrce
Avatar
Kit:20.8.2012 16:52

Je zbytečné počítat druhou odmocninu. Stačí jen porovnat podíl s dělitelem. Algoritmus se tím o něco málo zrychlí.

Odpovědět
20.8.2012 16:52
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
BluPri
Člen
Avatar
Odpovídá na Drahomír Hanák
BluPri:18.4.2017 11:51

Jaké metody to jsou? :-)

 
Odpovědět
18.4.2017 11:51
Avatar
Šimon Rataj
Člen
Avatar
Šimon Rataj:14.11.2017 14:33

Udělal jsem to v PHP asi před rokem.

function prvocisla($int) {
    for($i = 0; $i<=$int; $i++) {
      $r[0] = 1;
      if($i>0)
        $r[$i-1] = $i;
      unset($r[0]);
    };
    foreach($r as $k => $v) {
      for($i = $v; $i<$int; $i++) {
        if(isset($r[$i]) && $r[$i]%$v==0)
          unset($r[$i]);
      };
    };
    return $r;
  };

$int je maximum
Zde to funguje.

Editováno 14.11.2017 14:35
 
Odpovědět
14.11.2017 14:33
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.