Cod sursa(job #1206714)

Utilizator Adrian1997Radulescu Adrian Adrian1997 Data 10 iulie 2014 23:42:24
Problema Invers modular Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
int a,n,d;

int cmmdc(int a,int b,int &x,int &y){
    if(!b){
        x=1,y=0;
        return a;
    }
    else{
        int xa,ya,d=cmmdc(b,a%b,xa,ya);
        x=ya;
        y=xa-(a/b)*ya;
        return d;
    }
}

int main(void){
    register int x,y;
    f>>a>>n;
    d=cmmdc(a,n,x,y);
    if(x>0)
        x+=(1-x/n)*n;
    g<<x%n;
    f.close();
    g.close();
    return 0;
}