Kezdőoldal » Számítástechnika » Programozás » Hogy tudnék egy olyan programo...

Hogy tudnék egy olyan programot írni, mely egy vektor által alkotott számról (a vektor minden cellája egy számjegy) eldönti, hogy prím-e?

Figyelt kérdés

2016. febr. 17. 15:31
 1/7 anonim ***** válasza:
Nem tudom, hogy jön képbe a vektor, de egyébként tetszőleges prímteszttel.
2016. febr. 17. 15:40
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:

tehát most arra gondolsz hogy van egy vektorod, pl a (3,5,7), és hogy a 357 mint szám prím-e?


én a számokat először konkatenálnám egy stringbe, majd azt kasztolnám számmá, aztán prímteszttel megnézni prím-e

2016. febr. 17. 15:55
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
Elég helyiértéken szorozni majd összeadni. Ez gyorsabb mint a tipuskonverzió oda-vissza.
2016. febr. 17. 16:27
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Azért jön képbe a vektor, mert több tízezer számjeggyű számmal kell dolgozzak, akkora változó meg nincs, így átalakítani se tudom rendes számmá
2016. febr. 17. 16:36
 5/7 anonim ***** válasza:

Ha lehetseges, akkor hasznalj valamilyen BigInt konyvtarat, amiben meg van irva a primteszt. Ezek altalaban string tombot is elfogadnak bemenetkent, tehat egyszeru megoldas.


Ami meg eszembe jut, hogy a 2-vel, 5-tel valo oszthatosagot a vegzodes, a 3-al valot pedig egy bejarassal konnyen lehet tesztelni. De gondolom ez nem eleg.

2016. febr. 17. 16:44
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

Esetleg a szám nem tízes számrendszerben van.

A Miller-Rabin prímtesztelést tudom ajánlani. Egyébként, ha nem találsz megfelelő Bigint könyvtárat, akkor neked kell megírnod a szükséges műveleteket hozzá. Úgy, ahogy az iskolában számolni tanítottak.

2016. febr. 17. 16:57
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:

Ahogy a #6-os válaszoló is írta, szerezz be egy BigInt könyvtárat amiben van valószínűség alapú prímteszt. Azt hiszem hogy boost könyvtárban is van ilyen ha esetleg azzal dolgoznál. Ha egy konkrét implementációra vagy kíváncsi akkor nézz egy RSA implementációt ami több különböző valószínűségi prím teszttel is leteszteli a másodperc töredéke alatt a számot ami akár 1024+ bit hosszú is lehet. Azt hiszem te is pontosan ezt szeretnéd megvalósítani.


Iromány a prím tesztelésről:

[link]

2016. febr. 17. 17:14
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!