Cod sursa(job #2029663)

Utilizator mircearoataMircea Roata Palade mircearoata Data 30 septembrie 2017 12:35:02
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>
#include <fstream>

using namespace std;

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

long long expow(long long b, long long p, long long mod)
{
    long long pow=1;
    while(p!=1){
        if(p%2==0)
        {
            p=p/2;
            b=b*b%mod;
        }else{
            p=p-1;
            pow=pow*b%mod;
        }
    }
    b=b*pow%mod;
    return b%mod;
}

long long a,n;

int main()
{
    in>>a>>n;
    out<<expow(a,n-2,n);
    return 0;
}