Pagini recente » Cod sursa (job #2089103) | Cod sursa (job #2759426) | Cod sursa (job #2380904) | Cod sursa (job #2394735) | Cod sursa (job #2742526)
#include <fstream>
using namespace std;
ifstream in("inversmodular.in");
ofstream out("inversmodular.out");
int a,n;
int Phi(int n)
{
int r=n;
for(int i=2;i*i<=n;++i)
{
if(n%i==0)
{
while(n%i==0)
n/=i;
r-=r/i;
}
}
return r;
}
int putere(int a,int b)
{
if(b==1)
return a;
int r=putere(a,b/2);
if(b%2==1)
return r*r*a;
return r*r;
}
int main()
{
in>>a>>n;
int u=Phi(n);
--u;
out<<putere(a,u);
return 0;
}