Üdvözlöm, Ön a
Lucas-Lehmer-teszt szó jelentését keresi. A DICTIOUS-ban nem csak a
Lucas-Lehmer-teszt szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a
Lucas-Lehmer-teszt szót egyes és többes számban mondani. Minden, amit a
Lucas-Lehmer-teszt szóról tudni kell, itt található. A
Lucas-Lehmer-teszt szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
Lucas-Lehmer-teszt és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.
Kiejtés
Főnév
Lucas-Lehmer-teszt
- (matematika, algoritmusok, számelmélet)
Legyen tetszőleges prímszám, és legyen a következő sorozat:
és Ekkor Lucas és Lehmer tétele szerint az (ún. Mersenne-szám) pontosan akkor prím (Mersenne-prím) ha osztható -vel.
A Lucas-Lehmer-teszt egy olyan heurisztikus módszer, amelyet kifejezetten a Mersenne-prímek tesztelésére használnak. Egy ( M_p = 2^p - 1 ) alakú szám akkor és csak akkor prím, ha ( p ) maga prím, és a Lucas-Lehmer-szekvencia alapján a szám osztója egy meghatározott ( S_{p-2} ) értéknek.
A Lucas-Lehmer-teszt algoritmusa
- Indítás: Definiáljuk a Lucas-Lehmer-szekvenciát ( S_0 = 4 )-el.
- Rekurzió: A következő tagokat ( S_{n+1} = S_n^2 - 2 M_p ) képlettel számítjuk.
- Feltétel: Ha ( S_{p-2} M_p ), akkor ( M_p ) prím, különben összetett.
Python-implementáció
Az alábbi program megvalósítja a Lucas-Lehmer-tesztet:
def is_mersenne_prime(p):
if p < 2:
return False
if p == 2:
return True # M2 = 2^2 - 1 = 3, ami prím
M_p = 2**p - 1 # Mersenne-szám kiszámítása
S = 4 # Kezdőérték a Lucas-Lehmer szekvenciában
for _ in range(p - 2): # Iteráljunk p-2 alkalommal
S = (S * S - 2) % M_p
return S == 0 # Ha S végül 0, akkor M_p prím
# Példa használat:
p = 5 # Ellenőrizzük, hogy M5 = 2^5 - 1 prím-e
if is_mersenne_prime(p):
print(f"M{p} = {2**p - 1} prím.")
else:
print(f"M{p} = {2**p - 1} nem prím.")
Példák kimenete
- ( p = 5 ):
( M_5 = 2^5 - 1 = 31 )
Kimenet: M5 = 31 prím.
- ( p = 11 ):
( M_{11} = 2^{11} - 1 = 2047 )
Kimenet: M11 = 2047 nem prím.
Hogyan működik?
- A teszt kifejezetten Mersenne-számokra optimalizált, mivel a Lucas-Lehmer-szekvencia gyorsan eldönti, hogy ( 2^p - 1 ) osztható-e maradék nélkül.
- A számítások hatékonyak, mert a szekvencia minden lépésében csak moduláris műveleteket használunk.
Fordítások
Etimológia