Pagini recente » Cod sursa (job #1848001) | Cod sursa (job #988201) | Cod sursa (job #337900) | Borderou de evaluare (job #1591036) | Cod sursa (job #627876)
Cod sursa(job #627876)
#include <fstream>
using namespace std;
ifstream fi("lgput.in");
ofstream fo("lgput.out");
long n,p,rez;
long pow2(long n,long p)
{
if(p==0)
return 1;
else if(p%2==0)
{
long q=pow2(n,p/2);
while(q>=1999999973)
q-=1999999973;
q=q*q;
while(q>=1999999973)
q-=1999999973;
return q;
}
else
{
long q=pow2(n,(p-1)/2);
while(q>=1999999973)
q-=1999999973;
q=q*q;
while(q>=1999999973)
q-=1999999973;
q=q*n;
while(q>=1999999973)
q-=1999999973;
return q;
}
}
int main()
{
fi>>n>>p;
fi.close();
rez=pow2(n,p);
fo<<rez;
fo.close();
return 0;
}