Kezdőoldal » Számítástechnika » Programozás » A gyökvonás körülbelül mennyiv...

Ozmium42 kérdése:

A gyökvonás körülbelül mennyivel memóriaigényesebb művelet, mint egy modulo osztás? (C, [python])

Figyelt kérdés

Olyan programot írok, ami kiírja a prímszámokat. Próbálom optimalizálni, és ehhez azt szedtem össze, hogy a megelőző prímszámokat egy tömbben (listában) tárolom, és a vizsgált számot is csak azokkal a prímszámokkal osztom, amelyek <= a szám négyzetgyökével.


Arra lennék kíváncsi, hogy a gyökvonással nyerek-e azzal szemben, mintha elvégezném az összes osztást.


2014. nov. 10. 01:24
 1/4 anonim ***** válasza:

Nyersz, főleg nagyobb számoknál.


Viszont ki lehet küszöbölni, a változód négyzetre emelésével.

i*i < n

2014. nov. 10. 06:50
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

A gyökvonás a legköltségesebb "elemi" művelet. Newton módszert használ a gyök reciprokának a numerikus közelítésére. Ezért van az, hogy a reciprok gyök rsqrt() például egy osztással gyorsabb mint a sima gyök vonás.


Ahogy az első is mondja a legjobb megoldás (főleg ha csak össze akarod őket hasonlítani), hogyha a másik számot emeled négyzetre.


Tehát a


    ref <= sqrt(num)


lasasbb, mint a


    ref * ref <= num


Ráadásul mivel tömbbe tárolod, eleve tárolhatod a négyzetét, így csak egyszer kell szoroznod.

2014. nov. 10. 09:29
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Az inverz gyökvonásról itt olvashatsz:


[link]

2014. nov. 10. 09:33
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:

"Viszont ki lehet küszöbölni, a változód négyzetre emelésével."


Milyen jó ötlet :)

2014. nov. 10. 18:27

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!