Pagini recente » Cod sursa (job #1485490) | Cod sursa (job #3288298) | Cod sursa (job #1747681) | Cod sursa (job #2070196) | Cod sursa (job #1892638)
#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);
if(k<0)
while(k<0)
k=k+b;
printf("%lld",k);
return 0;
}