Cod sursa(job #2389155)

Utilizator cyg_vladioanBirsan Vlad cyg_vladioan Data 26 martie 2019 20:45:07
Problema Invers modular Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <cstdio>
using namespace std;
int euler(int a)
{
    int phi = a , d , e;
    d = 2;
    while(1LL * d * d <= a && a > 1)
    {
        e = 0;
        while(a % d == 0)
        {
            a = a / d;
            e ++;
        }
        if(e > 0)
            phi = phi / d * (d - 1);
        d ++;
    }
    if(a > 1)
        phi = phi / a * (a - 1);
    return phi;
}
int main()
{
    freopen("inversmodular.in" , "r" , stdin);
    freopen("inversmodular.out" , "w" , stdout);
    int a , n;
    scanf("%d%d" , &a , &n);
    printf("%d\n" , euler(a) - 1);
    return 0;
}