Kezdőoldal » Számítástechnika » Programozás » Melyik a leghatékonyabb...

Melyik a leghatékonyabb algolitmus primszámkereséshez?

Figyelt kérdés

c++-ban akarom megírni

az is érdekelni hogy mik azok a matematikai dolgok amelyek miatt rövidülhet az elgolitmuslefutásának ideje



2013. okt. 8. 21:55
 1/8 anonim ***** válasza:

Nagyságrendileg mennyire kell gondolni? 1-től valameddig keresés? Vagy tesztelés?

Memória korlátlan?

2013. okt. 8. 22:01
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:
1-től 2 a 64 -ig keresés memória 3 gb
2013. okt. 8. 22:03
 3/8 anonim ***** válasza:

[link]


Itt sok érdekeset írnak, kódok is szerepelnek. Talán párhuzamosan érdemes fájlba is írnod, mert napokig fog futni az algoritmus.

2013. okt. 8. 22:28
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:

Kicsit magasra tetted a lécet, lehet nem lesz elég a memória.

[link]

Ha a pi(n)-t beszorzod a 8 byte-al, kijön a szükséges tárhely.

2013. okt. 8. 23:27
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:

Wampa!


Elkényelmesedtek ezek a mai programozók... pedig volt olyan idő, amikor még akadt olyan, hogy EGY EGÉSZ FILE-t :-D nem tudott egyben beolvasni a memória :-) mégis megoldották :-P

Hisz vannak nagy háttértárak is.

2013. okt. 10. 08:37
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:

Lehet hogy elkényelmesedtem és valamit elszámoltam, ezt vállalom.


[link]


Viszont ez az érték nekem a háttértáramhoz is nagynak tűnik.

2013. okt. 10. 11:10
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:
Nem egy filbe irom, a programot ugy keszitem el hogy kb 4.5 gb -os file-oknál (DVD miatt) ne csinljon nagyobbat, és a memóri kérdést is meg tudom oldani
2013. okt. 10. 17:38
 8/8 anonim ***** válasza:

-> a párosokat külön ellenőrizd

Valahogy így:

if(szam % 2 == 0)

if(szam == 2)

Kiir("Prím");

else Kiir("Nem Prím");

....

-> csak a szám gyökéig keresed az osztóit

-> a szám gyökét először letárolod egy változóban

-> az osztót 2-vel növeled

Valahogy így:

int gyok = sqrt(szam);

int oszto = 3;

while(oszto <= gyok && szam % oszto != 0)

oszto += 2;

...

Ellenőrzés:

if(szam % oszto == 0)

Kiir(Nem prím);

else

Kiir("Prím");

....

2013. okt. 11. 12:27
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!