Cod sursa(job #1162186)
Utilizator | Data | 31 martie 2014 18:09:44 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <cstdio>
#define MOD 1999999973
using namespace std;
inline int Pow_Log(int x, int p)
{
int put=1;
while(p)
{
if(p&1)
{
put=(1LL*put*x)%MOD;
--p;
}
p>>=1;
x=(1LL*x*x)%MOD;
}
return put;
}
int main()
{
int N,P;
freopen ("lgput.in","r",stdin);
freopen ("lgput.out","w",stdout);
scanf("%d%d", &N,&P);
printf("%d\n", Pow_Log(N,P));
return 0;
}