Cod sursa(job #1696214)

Utilizator NadinaBoldNadina Bold NadinaBold Data 28 aprilie 2016 16:33:34
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <fstream>

using namespace std;

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

int put(int a, int b)
{
    int k=1999999973;
    if(b==0)
    return 1;
    else if (b%2==1)
    return ((put(a, b-1)%k)*a)%k;
    else if (b%2==0)
    return ((put(a, b/2)%k)*put(a,b/2))%k;
}

int main()
{
    int n, p;
    in>>n>>p;
    out<<put(n,p);
    return 0;
}