Cod sursa(job #1379138)

Utilizator T.C.11Tolan Cristian T.C.11 Data 6 martie 2015 16:31:20
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>

using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");

long long int a,n,k,i,sol;

int pl(long long int i,long long int n)
{
    if (i==1)
    {
        return n;
    }
    else
    {
        if (i%2==0)
            return pl(i/2,n*n%k);
        else
            return n*pl(i/2,n*n%k)%k;
    }
}

int main()
{
    k=1999999973;
    fin>>n>>a;
    sol=pl(a,n);
    fout<<sol%k;
    return 0;
}