Cod sursa(job #1490839)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 24 septembrie 2015 11:25:19
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("inversmodular.in");
ofstream out("inversmodular.out");

int lgput(int a, int b, int mod)
{
    if(b == 1)
        return a % mod;
    if(b == 0)
        return 1;
    int rez = lgput(a, b/2, mod) % mod;
    if(b % 2 == 0)
        return 1LL * rez * rez % mod;
    else
        return (1LL * (1LL * rez * rez) % mod) * a % mod;
}
int main()
{
    int a, n;
    in >> a >> n;
    out << lgput(a, n - 2, n);
    return 0;
}