Cod sursa(job #1009900)

Utilizator hevelebalazshevele balazs hevelebalazs Data 13 octombrie 2013 23:10:58
Problema Invers modular Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
int x,y,x1;
int gcd(int a,int b){
    if(!b){x=1;y=0;return a;}
    int r=gcd(b,a%b);
    x1=x;x=y;y=x1-y*(a/b);
    return r;
    }
int main(){
    freopen("inversmodular.in","r",stdin);
    freopen("inversmodular.out","w",stdout);
    int a,n;
    scanf("%i%i",&a,&n);
    int d=gcd(a,n);
    if(x<1) x+=(x/n)*n;
    if(x>n) x-=((n-x)/n)*n;
    while(x<1) x+=n;
    while(x>n) x-=n;
    printf("%i\n",x);
    return 0;
    }