Cod sursa(job #522794)

Utilizator titeltitel popescu titel Data 16 ianuarie 2011 10:27:27
Problema Invers modular Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<fstream.h>
ifstream f("inversmodular.in"); ofstream g("inversmodular.out");
long long a,b,q,r,n;
long long s,s1,s2,t,t1,t2;
int main()
{f>>a>>n; b=n;
 s1=1; t1=0; 
 s2=0; t2=1;
 r=a%b; q=a/b;
 while(r)
  {s=s1-s2*q; s1=s2; s2=s;
   t=t1-t2*q; t1=t2; t2=t;
   a=b; b=r; r=a%b; q=a/b;
  }
 if(s) g<<s%n<<'\n'; 
  else
    {r=(-s)%n;
     g<<n-r<<'\n';  
	}
 g.close(); return 0;
}