Cod sursa(job #1095424)

Utilizator manutrutaEmanuel Truta manutruta Data 30 ianuarie 2014 22:12:10
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("inversmodular.in");
ofstream g("inversmodular.out");

long long a, mod;

long long pow(int a, long long exp)
{
    long long rez = 1;
    while (exp) {
        if (exp & 1) {
            rez = (1LL * rez * a) % mod;
        }
        exp >>= 1;
        a = (1LL * a * a) % mod;
    }
    return rez % mod;
}

int main()
{
    f >> a >> mod;
    a %= mod;
    g << pow(a, mod - 2) % mod;

    f.close();
    g.close();
    return 0;
}