Cod sursa(job #3297314)
Utilizator | Data | 22 mai 2025 13:51:24 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <stdio.h>
constexpr int MOD = 1999999973;
int main() {
FILE *fin = fopen( "lgput.in", "r" );
FILE *fout = fopen( "lgput.out", "w" );
int base, exp;
fscanf( fin, "%d%d", &base, &exp );
int ret = 1;
while( exp ) {
if( exp & 1 )
ret = (ret * (long long)base) % MOD;
base = (base * (long long)base) % MOD;
exp >>= 1;
}
fprintf( fout, "%d\n", ret );
fclose( fin );
fclose( fout );
return 0;
}