Kezdőoldal » Számítástechnika » Programozás » Melyik a leggyorsabb prímszámv...

Melyik a leggyorsabb prímszámvizsgáló algoritmus?

Figyelt kérdés

Nagy, kb. 10^50-es számkörre gondolok.

Nem forráskódra gondolok(de ha azt is mondd valaki, megköszönöm, lehetőleg Pascalban, C#-ban, C++-ban vagy pythonban)


2010. nov. 9. 17:40
 1/8 anonim ***** válasza:

ha leggyorsabb vizsgálatot akarod, akkor gépi kódot ajánlom. a többi nyelv baromi lassú hozzá képest.


mellesleg ha az algoritmus funkció blokkdiagramját fel tudod vázolni, akkor már nyertél.

2010. nov. 9. 17:43
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

[link]

A megadott nyelvek közül én a C++ -t ajánlanám, ha esetleg van tapasztalat, akkor assembly-ben lenne a legideálisabb megírni (persze sokkal bonyolultabb megírni ASM-ben)

2010. nov. 9. 17:56
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:
Namost az algoritmus az egy dolog. A kérdés az, hogy az adott architektúra, amin keresni akarsz, milyen műveleteket végez gyorsan, illetve mennyire akarod elosztottá tenni. ELTE-n az egyik tanszéken keresnek prímeket, vicces, de egy sornyi PS3 játékkonzolon fut az algoritmus. Ők például biztos publikálták, hogy milyen algoritmust használnak, de úgyis rommá van optimalizálva asm-ben...
2010. nov. 9. 18:09
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
Amit én ismerek a prímszámok keresésére, azok közül a leggyorsabb az Erasztotenész szitája nevezetű, amit általános iskolában is tanítanak. Igazság szerint nem mentem bele jobban ebbe a témába, nekem ez elég gyors és hatékony.
2010. nov. 9. 19:52
Hasznos számodra ez a válasz?
 5/8 zsomkovacs ***** válasza:
Prímkereső, vagy prímtesztelő? Az előbbi elképesztően lassú ilyen számok mellett, prímtesztelőnek javaslom az ún. Miller-Rabin tesztet.
2010. nov. 10. 18:24
Hasznos számodra ez a válasz?
 6/8 anonim válasza:

Eratosthenes szitája gyorsan keres egy intervallumban prím számokat.

Prímtesztnek meg csak annyit tudok mondani, hogy a szám gyökéig kell keresni osztokat, ha van akkor nem primszám,

ha nincs akkor prímszám.

[link]

2010. nov. 11. 16:49
Hasznos számodra ez a válasz?
 7/8 zsomkovacs ***** válasza:

Az Eratosztenészi szita csak az [1, x] intervallumokban tud prímet keresni.


Egyéb prímtesztek:

[link]

2010. nov. 11. 17:52
Hasznos számodra ez a válasz?
 8/8 zsomkovacs ***** válasza:

Az Eratosztenészi-szita amúgy tényleg nagyon gyors, kb. Ln(ln(x))*x-es futásidejű, viszont akkor

1) mivel 10^50-es nagyságrendről van szó, a futásidő is hasonló lesz

2) kb. 2^130 Gb memória kéne a számok tárolásához.


A Miller-Rabin teszt sokkal jobb, mert egy számot log(x) idő alatt ellenőriz, ez n számra n*log(x), ez lassabb, mint az eratosztenészi, de itt n nem 10^50, hanem szabadon választott, tehát ha 20000 számot kell megnézni, akkor 20000*log(x)-es. Ez pedig bőven belefér akár pár percbe is. Másrészt nagyon kevés memóriát igényel.

2010. nov. 11. 18:17
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!