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?
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
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.
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.
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:
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!