Cod sursa(job #1234074)

Utilizator vtt271Vasile Toncu vtt271 Data 26 septembrie 2014 17:54:45
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>

using namespace std;

#define MOD 1999999973

int lgput(int n, int p)
{
    if( p == 0 ) return 1;
    if( p == 1 ) return n % MOD;
    if( p%2 == 0 ) return ( (lgput(n,p/2)%MOD) * (lgput(n,p/2)%MOD) )%MOD;
    else return ( (lgput(n,p-1)%MOD) * (n%MOD) )%MOD;
}

int main()
{
    ifstream inFile("lgput.in");
    ofstream outFile("lgput.out");

    int n, p;

    inFile >> n >> p;

    outFile << lgput(n,p);

}