Cod sursa(job #1897059)

Utilizator GeorgeCalinPetruta George-Calin GeorgeCalin Data 1 martie 2017 09:30:24
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>
#define f stdin
#define g stdout
using namespace std;

void gcd(long long &in,long long &il,int a,int b)
{
    if(!b)
    {
        in=1;
        il=0;
    }
    else
    {
        gcd(in,il,b,a%b);
        long long au=in;
        in=il;
        il=au-il*(a/b);
    }
}
int main()
{
    long long in=0,il;
    int n,p;
    freopen("inversmodular.in","r",f);
    freopen("inversmodular.out","w",g);
    scanf("%d %d",&n,&p);
    gcd(in,il,n,p);
    if(in<0)in=p+in%p;
    printf("%lld",in);
    return 0;
}