Pagini recente » Cod sursa (job #1446912) | Cod sursa (job #924958) | Cod sursa (job #2964376) | Cod sursa (job #1283288) | Cod sursa (job #2107380)
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
void gcd(long long &i1,long long &i2,int a,int b)
{
if(!b)
{
i1=1;
i2=0;
}
else
{
gcd(i1,i2,b,a%b);
long long aux=i1;
i1=i2;
i2=aux-i2*(a/b);
}
}
int main()
{
int n,p;
long long i1=0,i2;
fin>>n>>p;
gcd(i1,i2,n,p);
if(i1<0)i1=p+i1%p;
fout<<i1;
return 0;
}