Cod sursa(job #983390)

Utilizator vladc096Vlad Cincean vladc096 Data 11 august 2013 17:24:43
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>

long long int N, P;

using namespace std;

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

int main()
{
    ifstream f("lgput.in");
    ofstream g("lgput.out");
    f>>N>>P;
    g<<exp(N, P)%1999999973;
    g.close();
    f.close();
}