Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 29. 10. 2008 16:57

nasivin
Příspěvky: 34
Reputace:   
 

Nejmenší a největší vzdálenost velkých prvočísel v určitém intervalu

Problém je následující:

Je dán interval L a U, kde  1<=L<U<=2 147 483 647

rozdíl mezi L a U nepřesahuje 1 000 000


Musím zjistit 2 prvočísla, které mají nejmenší a 2 prvočísla, které mají od sebe největší vzdálenost v zadaném intervalu <L;U>. V případě že je více takových, tak zjistit první takový pár. Respektive mám napsat program, který to zjistí v co nejkratším čase.

Příklad:
Zadaný interval L = 2, U = 17
Výsledek: prvočísla 2 a 3 jsou v zadaném intervalu nejblíže, prvočísla 7 a 11 jsou nejvzdálenější v zadaném intervalu.

Pro představu například v intervalu od 2 000 000 do 2 500 000 výpočet pomocí Eratosthenova síta trvá kolem 23 sekund. Mám udělat program který pro několik takových zadaných intervalů výpočet zvládne do 3 sekund. Podle mne to chce nějaký jiný nápad, jak výpočet nějak obejít. Za každý nápad, nebo připomínku předem děkuju.


Příklad vzdálenosti všech prvočísel v intervalu 1 000 000 až 1 000 100:
  1000003, 1000033 vzdálenost: 30
  1000033, 1000037 vzdálenost: 4
  1000037, 1000039 vzdálenost: 2
  1000039, 1000081 vzdálenost: 42
  1000081, 1000099 vzdálenost: 18
Výsledek:
prvočísla 1000039, 1000081 jsou nejvzdálenější
prvočísla 1000037, 1000039 jsou nejméně vzdálená


Obrázek algoritmu Eratostheova síta:
http://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Animation_Sieve_of_Eratosth-2.gif/300px-Animation_Sieve_of_Eratosth-2.gif

Offline

 

#2 29. 10. 2008 19:13

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: Nejmenší a největší vzdálenost velkých prvočísel v určitém intervalu

Napadá mě prcházet čísla postupně, pro každé
- ověřit dělitelnost jedno a dvoumístnými prvočísly,
- pokud projde, provést Fermatův test,
- pokud projde i tím, vyzkoušet dělitelnost všemi čísly do odmocniny z daného čísla.
Takto zjistíme, jestli je dané číslo prvočíslo poměrně rychle, pak už si jen nějak pohrát s těmi vydálenostmi.


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#3 30. 10. 2008 21:58

nasivin
Příspěvky: 34
Reputace:   
 

Re: Nejmenší a největší vzdálenost velkých prvočísel v určitém intervalu

Díky za myšlenku!

Zkusím naprogramovat a tak za tyden napíšu jak se mi to povedlo. Teď nemám moc času. Ještě jednou díky.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson