Cod sursa(job #1701079)
Utilizator | Data | 12 mai 2016 09:01:53 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <stdio.h>
int main () {
FILE *fin, *fout ;
fin = fopen ("lgput.in", "r" ) ;
fout = fopen ("lgput.out", "w" ) ;
int a, p, n ;
fscanf(fin, "%d%d", &a, &n ) ;
p = 1 ;
while ( n > 0 ) {
if ( n % 2 == 1)
p = p * a % 1999999973 ;
a = (a * a) % 1999999973 ;
n = ( n / 2 ) % 1999999973 ;
}
fprintf(fout, "%d", p );
return 0 ;
}