Cod sursa(job #2642642)

Utilizator BogdanTicuTicu Bogdan Valeriu BogdanTicu Data 16 august 2020 13:54:48
Problema Invers modular Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.41 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("inversmodular.in");
ofstream out("inversmodular.out");

void euclid(long long a,long long b,long long &x,long long &y)
{
	if(b==0)
	{
		x=1;
		y=0;
	}
	else
	{
		euclid(b,a%b,x,y);
		long long aux=x;
		x=y;
		y=aux-(a/b)*y;
	}
}

int main()
{
	long long a,n,ans=0,ins;
	in>>a>>n;
	euclid(a,n,ans,ins);
	if(ans<=0)
		ans=n+(ans%n);
	out<<ans<<"\n";
	return 0;
}