Cod sursa(job #2691025)

Utilizator andrei_marciucMarciuc Andrei andrei_marciuc Data 26 decembrie 2020 18:58:43
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
#define MOD 1999999973
long long n, p, rez = 1;

int main()
{
    FILE *fin = fopen( "lgput.in", "r" );
    fscanf( fin, "%lld %lld", &n, &p );
    fclose( fin );
    while( p > 0 ){
        if( p & 1 )
            rez = ( ( n % MOD ) * rez ) % MOD;
        n = ( ( n % MOD ) * n ) % MOD;
        p /= 2;
    }
    FILE *fout = fopen( "lgput.out", "w" );
    fprintf( fout, "%lld\n", rez );
    fclose( fout );
    return 0;
}