Cod sursa(job #2033930)

Utilizator Marie02THGStanescu Maria Raluca Marie02THG Data 7 octombrie 2017 11:59:50
Problema Invers modular Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>

using namespace std;
ifstream in ("inversmodular.in");
ofstream out ("inversmodular.out");
bool cmmmdc(int a , int b)
{   int x;
    while(a!=b)
    {
        if(a>=b)
            a=a-b;
        else
            b=b-a;
    }
    x=b;
    if(x==1)
        return 1;
    else
        return 0;
}
long power(int base, int exp)
{
  if(exp == 1)
    return base;
  else
    return base * power(base, exp-1);
}
int main()
{int a,x,n,i,ct=0;
in>>a>>n;
for(i=1;i<n;i++)
{
    if(cmmmdc(i,n)==1)
        ct++;
}
x=power(a,ct-1);
out<<x%n;
    return 0;
}