Cod sursa(job #459948)

Utilizator BitOneSAlexandru BitOne Data 31 mai 2010 18:13:37
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <cstdlib>
#include <fstream>
#define Modulo 1999999973

/*
 *
 */
inline int pow( int x, int n )
{
    int r=1;
    for( ; n; n>>=1 )
    {
        if( n&1 )
        {
            r=(1LL*x*r)%Modulo;
            --n;
        }
        x=(1LL*x*x)%Modulo;
    }
    return r;
}
int main( void )
{
    int N, p;
    std::ifstream in( "lgput.in" );
    std::ofstream out( "lgput.out" );
    in>>N>>p;
    out<<pow( N, p )<<'\n';
    return EXIT_SUCCESS;
}