Pagini recente » Cod sursa (job #2984220) | Cod sursa (job #1510404) | Cod sursa (job #1478369) | Cod sursa (job #361226) | Cod sursa (job #693320)
Cod sursa(job #693320)
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
long long n,p,pa,ni,ok;
int main()
{
f>>n>>p;
pa=2;
ni=n;
n=pow(n,2);
ok=1;
while(ok)
{
while(pa*2<=p&&n<1999999973)
{
n=pow(n,2);
pa=pa*2;
}
n=n%1999999973;
if(pa*2>p)ok=0;
}
while(pa*2<=p&&n<1999999973)
{
n=pow(n,2);
pa=pa*2;
}
ok=1;
while(ok)
{
while(pa<p&&n<1999999973)
n=n*ni,pa++;
n=n%1999999973;
if(pa>=p)ok=0;
}
g<<n%1999999973<<'\n';
f.close();
g.close();
return 0;
}