Cod sursa(job #2038302)

Utilizator Cristi01052Tudorache Christian Cristi01052 Data 13 octombrie 2017 16:27:14
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>

using namespace std;
ifstream in ("lgput.in");
ofstream out ("lgput.out");
int lgput (int n, int p)
{
    if(p == 0)
        return 1;
    else
    {
        if(p == 1)
            return n;
        else
        {
            if(p%2 == 0)
                return lgput(n*n, p/2);
            else
                return lgput(n*n, (p-1)/2);
        }
    }
}
int main()
{
    int n, p;
    in>>n>>p;
    int sol = lgput(n, p) % 1999999973;
    out<<sol;
    return 0;
}