Cod sursa(job #1050981)

Utilizator mucenic_b101Bogdan Mucenic mucenic_b101 Data 9 decembrie 2013 15:47:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#define REST 1999999973
using namespace std;

long long lgput( long long n, long long p ) {
    if( p == 0 )
        return 1;
    if( n == 0 )
        return 0;
    if( p % 2 == 0 )
        return lgput( ( n * n ) % REST, p / 2 );
    return ( n * ( lgput( n, p - 1 ) % REST ) ) % REST;
}


int main () {
    ifstream f( "lgput.in" );
    ofstream g( "lgput.out" );

    long long n, p;
    f>>n>>p;
    g<<lgput( n, p );

    f.close();
    g.close();

    return 0;
}