Cod sursa(job #961736)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 12 iunie 2013 19:31:06
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
#define X 1999999973

using namespace std;

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

int N,P;

long long Putere(int N,int P)
{
    if(P!=1)
    {
        if(P % 2==0) return ( (Putere(N,P/2) % X)*(Putere(N,P/2) % X)) % X;
        else return ((N % X)*(Putere(N,P/2) % X)) % X;
    }
    return N % X;
}

int main()
{
    f>>N>>P;
    g<<Putere(N,P)<<'\n';
    f.close();g.close();
    return 0;
}