Cod sursa(job #839131)

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

#define mod 66613

int N,P;
unsigned long int rez;

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

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


    rez = 1;

    for ( int i = 1 ; P >> i ; i++ )
    {
        N = ( 1ll * N * N ) % mod;
        if ( ( P >> i ) & 1 )  rez = ( 1ll * rez * N ) % mod;

    }

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

    return 0;


}