Migliore risposta
2 ^ 30 * 3 ^ 20
= (2 ^ 3) ^ 10 * (3 ^ 2) ^ 10
= 8 ^ 10 * 9 ^ 10
= (8 * 9) ^ 10
= 72 ^ 10
dal 72 mod 7 = 2,
72 ^ 10 mod 7
= (2 ^ 10) mod 7
= 1024 mod 7
= 2
Risposta
Potresti semplicemente accendere un computer e chiederlo, e io ottenuto 1091132094649, ma devi intendere, come potrebbe essere fatto con un minimo di lavoro con carta e matita, o come potrebbe essere risolto un problema molto più grande su un computer senza un uso stravagante dei cicli della CPU.
Probabilmente tu vuole il teorema cinese dei resti per questo. 20 = 2 ^ 2 * 5, quindi 20 ^ 10 = 2 ^ 20 * 5 ^ 10.
Allora, qual è 3 ^ 30 mod 5 ^ 10? Lavora in base 5 aritmetica. 3 ^ 3 = 102, 3 ^ 6 = 102 * 102 = 10404, 3 ^ 12 = 114001231, ora moltiplica per 3 ^ 3 = 102, ma SCARTANDO tutte le cifre oltre la decima potenza di 5: 12133131112 ritaglia a 2133131112. Infine piazza questo fuori, scartando tutto al di sopra della decima potenza di 5 mentre procedi: 4304012044. Base 10, per tornare al terreno familiare, questo è 9047774.
Ora ti consigliamo 3 ^ 30 mod 2 ^ 20. Stesso esercizio, ma questa volta stai lavorando in binario. Finisci per imparare che è 686265 mod 2 ^ 20.
Ora è il momento del Teorema cinese del resto. Questo dice che dati due moduli relativamente primi, qui 2 ^ 20 e 5 ^ 10, e condizioni di congruenza mod ciascuno, qui che la risposta è 9047774 mod il primo e 686265 mod laltro, cè un unico n tra 0 e il prodotto di i tuoi moduli, meno 1. E lo trovi tramite lidea che se n = a mod p e b mod q, allora n = a + pk quindi (a + pk) = b mod q. quindi pk = (b-a) mod q, quindi k = (inverso di p) * (b-a) mod q. E linverso di p mod q si trova con lalgoritmo euclideo esteso. (Estrai il mcd di peq, sapendo benissimo che alla fine sarà 1, ma tenendo traccia di ciò che impari su s * p + t * q = sempre più piccolo, man mano che procedi, finché non ottieni s * p + t * q = 1 e quindi s è linverso di p mod q.)