Pagini recente » Cod sursa (job #1182861) | Cod sursa (job #365116) | Cod sursa (job #2785132) | Diferente pentru problema/bonus3 intre reviziile 7 si 8 | Cod sursa (job #1524540)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long int n,p,v[51],i,k=1,P=1;
fin>>n>>p;
v[0]=n;
for(i=1;i<=40;i++)
{
v[i]=(v[i-1]*v[i-1])%1999999973;
}
i=0;
while(k<p)
{
k=k*2;
i++;
}
while(p>0)
{
if(k<p)
{
p=p-k;
P=(P*v[i])%1999999973;
}
k=k/2;
i--;
}
fout<<P;
return 0;
}