Cod sursa(job #361461)
Utilizator | Data | 5 noiembrie 2009 11:23:11 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include<cstdio>
const int mod=1999999973;
int n,m;
int main(){
FILE *f=fopen("lgput.in", "r");
FILE *g=fopen("lgput.out","w");
fscanf(f,"%d%d",&n,&m);
int r=1;
while ( m>0 ){
if ( m%2 == 1 )
r = (int)(((long long)r * n)%mod);
n = (int)(((long long )n * n)%mod);
m/=2;
}
fprintf(g,"%d",r);
return 0;
}