Cod sursa(job #2860475)

Utilizator alexmorosanuMorosanu Alexandru alexmorosanu Data 2 martie 2022 17:52:08
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>

using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
long long a,n,p=1,M,m,i;
int main()
{
    f>>a>>n;
    M=m=n;
    for(i=2;i*i<=m;i++)
    {
        if(m%i==0)
        {
            while(m%i==0)
                m=m/i;
            n=n/i*(i-1);
        }
    }
    if(m!=1)
        n=n/m*(m-1);
    n--;
    while(n)
    {
        if(n%2==1)
            p=p*a%M;
        a=a*a%M;
        n=n/2;
    }
    g<<p;
    return 0;
}