Cod sursa(job #485560)

Utilizator SpiderManSimoiu Robert SpiderMan Data 18 septembrie 2010 19:55:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
# include <cstdio>

const int MOD = 1999999973 ;
int N, P, sol = 1 ;

int main ( void ) {
    fscanf ( fopen ( "lgput.in", "r" ), "%d %d", &N, &P ) ;
    for ( int i = 0; 1 << i <= P; ++i ) {
        if ( ( 1 << i & P ) > 0 ) {
            sol = ( long long ) sol * N % MOD ;
        }

        N = ( long long ) N * N % MOD ;
    }

    fprintf ( fopen ( "lgput.out", "w" ), "%d", sol ) ;
}