Cod sursa(job #2246031)

Utilizator HapCiuCiu Hap HapCiu Data 26 septembrie 2018 14:28:48
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream in ("inversmodular.in");
ofstream out ("inversmodular.out");
int euler(int n)
{
    return n-1;
}
int putere(int a,int n,int m)
{
    //calculez a la n modulo m
    int p=1;
    do{
        if(n%2!=0)
        {
            p=(long long)p*a%m;
        }
        a=(long long)a*a%m;
        n/=2;
    }while(n);
    return p;
}
int main()
{
    int a,n,x;
    in >> a >> n;
    in.close();
    x=putere(a,euler(n)-1,n);
    out<<x;
    out.close();
    return 0;
}