Pagini recente » Cod sursa (job #807353) | Cod sursa (job #2455900) | Cod sursa (job #2584463) | Cod sursa (job #1853494) | Cod sursa (job #1725222)
#include <cstdio>
using namespace std;
int main()
{
FILE *f=fopen("inversmodular.in","r"),*g=fopen("inversmodular.out","w");
int n,a[100],b[100],q[100],k,x0,y0,x1,y1,i,c=1;
k=1;
fscanf(f,"%d%d",&a[1],&b[1]);
while(b[k])
{
q[k]=a[k]/b[k];
++k;
a[k]=b[k-1];
b[k]=a[k-1]%b[k-1];
}
if(c%a[k])fprintf(g,"0 0\n");
else
{
x0=c/a[k];
y0=0;
k--;
while(k)
{
x1=y0;
y1=x0-q[k]*y0;
k--;
x0=x1;
y0=y1;
}
if(x0<0) while(x0<0)x0=x0+b[1];
fprintf(g,"%d",x0);
}
return 0;
}