Cod sursa(job #316625)
Utilizator | Data | 20 mai 2009 16:10:13 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include <stdio.h>
long long n,p,rez = 1;
int main ()
{
freopen ("lgput.in","r",stdin);
freopen ("lgput.out","w",stdout);
scanf ("%lld %lld",&n,&p);
for ( ; p > 0 ; p >>=1){
if (p & 1) rez = ( (rez%1999999973) *(n%1999999973) ) %1999999973;
n = ( (n%1999999973) * (n%1999999973) ) %1999999973;
}
printf ("%lld",rez);
return 0;
}