Cod sursa(job #215969)
Utilizator | Data | 21 octombrie 2008 21:26:47 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <cstdio>
#define MOD 1999999973
long long N, P;
long long pow(long long N, long long P)
{
long 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("%lld %lld",&N,&P);
printf("%lld\n",pow(N, P));
}