Pagini recente » Diferente pentru problema/engineer intre reviziile 31 si 30 | Borderou de evaluare (job #1596326) | Monitorul de evaluare | Cod sursa (job #313832) | Cod sursa (job #352804)
Cod sursa(job #352804)
#include <cstdio>
int rest_putere (int n, int p)
{
int r = n;
while (p > 1)
{
if (p % 2 == 0)
{
p /= 2;
r = (int)(((long long)r * r)%1999999973);
}
else
{
p -= 1;
r = (int)(((long long)r * n)%1999999973);
}
}
return r;
}
int main()
{
int n,p;
freopen ("lgput.in","r",stdin);
freopen ("lgput.out","w",stdout);
scanf ("%d%d",&n,&p);
printf ("%d",rest_putere(n,p));
return 0;
}