Cod sursa(job #672018)
Utilizator | Data | 1 februarie 2012 13:56:09 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.32 kb |
#include <cstdio>
int main(){
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
int a,b,i,masca=1;
scanf("%d %d",&a,&b);
//aflam dimensiunea puterii b in baza 2
long long pow=1;
for( i=31 ; i>=0 ; i-- ){
pow=(pow*pow)%1999999973;
if( (masca<<i) & b )pow=(pow*a)%1999999973;
}
printf("%lld",pow);
}