Cod sursa(job #2092571)
| Utilizator | Data | 21 decembrie 2017 22:37:44 | |
|---|---|---|---|
| Problema | Invers modular | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <stdio.h>
using namespace std;
FILE *f,*g;
int n,a,x,y;
void modular(int &x,int &y,int a,int n)
{
int aux;
if(n==0)
{
x=1;
y=0;
}
else
{
modular(x,y,n,a%n);
aux=x;
x=y;
y=aux-y*(a/n);
}
}
int main()
{
int i;
f=fopen("inversmodular.in","r");
g=fopen("inversmodular.out","w");
fscanf(f,"%d %d",&a,&n);
modular(x,y,a,n);
while(x<0)
x+=n;
fprintf(g,"%d",x);
return 0;
}
