Pagini recente » Cod sursa (job #1325697) | Cod sursa (job #1331309) | Cod sursa (job #1225401) | Cod sursa (job #1828355) | Cod sursa (job #1503595)
#include <iostream>
#include <fstream>
using namespace std;
int euclid(int a, int b){
int temp;
temp=a%b;
a=b;
b=temp;
if(b==0)
if(a==1) return true;
else return false;
if(b!=0) euclid(a,b);
}
int solve(int x , int y){
int i,nr=1,k=1;
if(x%y==0 || y%x==0)
return -1;
else{
for(i=2;i<y;i++)
if(euclid(y,i)==true) nr++;
for(i=1;i<nr;i++){
k=x*k;
}
return k%y;
}
}
int main()
{
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
int x,y;
f>>x>>y;
g<<solve(x , y);
return 0;
}