Pagini recente » Cod sursa (job #1053723) | Cod sursa (job #1809440) | Borderou de evaluare (job #1330230) | Cod sursa (job #642554) | Cod sursa (job #1892626)
#include <cstdio>
using namespace std;
void euclidex(long long int a,long long int b,long long int &k,long long int &l,long long int &d)
{
if (b==0)
{
l=1;
k=0;
d=a;
return;
}
long long int k1,l1,d1;
euclidex(b,a%b,k1,l1,d1);
l=k1;
k=l1-(a/b)*k1;
d=d1;
}
int main()
{
freopen("inversmodular.in","r",stdin);
freopen("inversmodular.out","w",stdout);
long long int a,b,d,l,k;
scanf("%lld %lld \n",&a, &b);
euclidex(a,b,l,k,d);
long long int inv=0;
while(k>0)
{
inv=inv*10+k%10;
k/=10;
}
printf("%lld\n",inv);
return 0;
}