Cod sursa(job #215967)
Utilizator | Data | 21 octombrie 2008 21:25:41 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include <cstdio>
#define MOD 1999999973
long N, P;
long pow(long N, long P)
{
long res = 1;
for(;P;P >>= 1)
{
if(P & 1)
res =(res * N) % MOD;
N = (N*N) % MOD;
}
return res;
}
int main()
{
freopen("lgput.in","rt",stdin);
freopen("lgput.out","wt",stdout);
scanf("%ld %ld",&N,&P);
printf("%ld\n",pow(N, P));
}