Cod sursa(job #3266112)

Utilizator tudorhTudor Horobeanu tudorh Data 5 ianuarie 2025 19:27:10
Problema Invers modular Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int power(long long base,int power,int mod)
{
    long long res=1;
    while(power)
    {
        if(power%2)
        {
            res*=base;
            res%=mod;
        }
        base*=base;
        base%=mod;
        power/=2;
    }
    return res;
}
int main()
{
    int a,n,phi;
    fin>>a>>n;
    phi=n-1;
    for(int d=2;d*d<=n;d++)
    {
        if(n%d==0)
        {
            phi--;
            if(d*d!=n)
                phi--;
        }
    }
    fout<<power(a,phi-1,n);
    return 0;
}