Cod sursa(job #1413604)

Utilizator VladuZ1338Vlad Vlad VladuZ1338 Data 1 aprilie 2015 23:11:33
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <cstdio>
#include <cmath>

using namespace std;

long long a, n, sol;

long long pwr (long long x, long long y)
{
    if (y==1) return x%n;
    else if (y%2==0) return pwr ((x*x)%n, y/2)%n;
    else return (x * pwr ((x*x)%n, y/2)%n)%n;
}

int main()
{
    freopen ("inversmodular.in", "r", stdin);
    freopen ("inversmodular.out", "w", stdout);
    scanf ("%d%d", &a, &n);
    sol=pwr (a, n-2);
    printf ("%d", sol%n);
}