Cum de a găsi rădăcina primitive sfaturi, cunoștințe, soluții,

Cum de a găsi rădăcina primitive sfaturi, cunoștințe, soluții,

Matematica - o știință complexă și cuprinzătoare. Nestiind formula, nu puteți rezolva o problemă simplă pe acest subiect. Ce putem spune despre astfel de cazuri, atunci când aveți nevoie pentru a rezolva problema este mai mult decât doar să afișeze o formulă și se înlocuiește cu valorile existente. Acestea includ o constatare a unei rădăcini primitive.

Articole pe tema „Cum de a găsi o rădăcină primitivă a“ Cum de a găsi lungimea laturilor triunghiului de koordinatamKak găsi suma rădăcinilor pătrate korneyKak ori

1 Este necesar să se clarifice ce înseamnă aici pentru a găsi o rădăcină primitivă, Kojima modulo n este numărul g - astfel încât toate puterile întregilor modulo n sunt deținute peste tot la prim-n numere. Matematic, aceasta poate fi exprimată după cum urmează: în cazul în care g - un primitiv modulo rădăcină n, atunci pentru orice număr întreg astfel încât, există cmmdc (a, n) = 1 un număr k, astfel încât g ^ k. o (n mod).

2 Teorema a fost dat la pasul anterior, ceea ce arată că, în cazul în care cel mai mic număr de k, pentru care g ^ k. 1 (mod n), egal cu (n), atunci g? - E o rădăcină primitivă. Prin urmare, este clar că k este un indicator g. Pentru orice teorema lui Euler a împlinit lui - (? (N)) ^ o. 1 (n mod) - prin urmare, pentru a verifica dacă g este o rădăcină primitivă, este suficient ca pentru toate mai mici (n) de numere d g ^ d ?. 1 (mod n). Cu toate acestea, acest algoritm este destul de lent.

3 din teorema lui Lagrange, putem concluziona că rata de oricare dintre numerele întregi modulo n - este împărțitor (n) ?. Acest lucru simplifică sarcina. Suficient pentru a se asigura că toate divizorilor proprii d | ? (N) se efectuează g ^ d. 1 (mod n). Acest algoritm este deja mult mai rapid decât anterior.

numărul 4 Factorizing? (N) = p_1 ^ (a_1) ... p_s ^ (A_S). Dovedi că algoritmul descris în etapa anterioară, ca și d este suficient să se ia în considerare numai numărul de forma următoare. (N) / p_i. Într-adevăr, să d - este un divizor adecvat arbitrar (n) ?. Apoi, în mod evident, există j, cu d | ? (N) / p_j. adică d * k =? (n) / p_j.

5 Dar, dacă g ^ d. 1 (mod n), apoi am mers g ^ (? (N) / p_j). g ^ (d * k). (G ^ d) ^ k. 1 ^ k. 1 (mod n). Asta este, se pare că printre numerele de forma? (N) / p_j ar fi unul pentru care nu s-ar îndeplini condițiile pe care, de fapt, pentru a dovedi.

6 primitiv algoritm constatare rădăcină, astfel, va arăta după cum urmează. Primul este? (N), atunci este luat. După toate numerele sunt în mișcare g = 1 ... n, și pentru fiecare dintre ele sunt toate valorile? (N) / p_i (mod n). Dacă curentul g toate aceste numere sunt diferite de unitate, aceasta g este rădăcina primitivă dorită.

7 Dacă presupunem că numărul? (N) au O (log? (N)), și exponentiala se realizează folosind algoritmul exponentiation binar, care este O (log? N), puteți vedea momentul algoritmului. Și este încă O (Ans * log. (N) * log? N) + T. Aici T - de data aceasta de factoring numărul (n), și Ans -? Este rezultatul, adică valoarea lui o rădăcină primitivă.