Cod sursa(job #2664177)

Utilizator Fantastic_Mantudor voicu Fantastic_Man Data 28 octombrie 2020 07:59:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>
using namespace std;
const int MOD = 1999999973;
int lgput( int a, int n ) {
    int p = 1;
    while (n > 0) {
        if (n % 2 == 1)
            p = ( ( long long ) p * a) % MOD;
        a = ( long long ) a * a % MOD;
        n >>= 1;
    }
    return p;
}
int main() {
    FILE *fin, *fout;
    int a, n;
    fin = fopen ( "lgput.in", "r" );
    fscanf( fin, "%d%d", &a, &n );
    fclose( fin );
    fout = fopen ( "lgput.out", "w" );
    fprintf(fout, "%d", lgput(a, n) );
    fclose( fout );
    
    return 0;
}