Cod sursa(job #839132)

Utilizator bogdan93Grigorescu Bogdan bogdan93 Data 21 decembrie 2012 13:22:47
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdlib>
#include <cstdio>

#define mod 1999999973

int N , P , rez;

int main ()
{
    FILE *fin , *fout;
    fin = fopen ( "lgput.in" , "r" );
    fout = fopen ( "lgput.out" , "w" );

    fscanf ( fin , "%d %d" , &N , &P );


    rez = 1;

    while ( P )
    {

        if ( P %2 )  rez = ( 1ll * rez * N ) % mod;
        N = ( 1ll * N * N ) % mod;
        P >>= 1;
    }

    fprintf ( fout , "%d" , rez ) ;
    fclose ( fin );
    fclose ( fout );

    return 0;


}