Cod sursa(job #1291745)

Utilizator SagunistuStrimbu Alexandru Sagunistu Data 13 decembrie 2014 10:49:51
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include <fstream>
#define mod 1999999973

using namespace std;

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

long long a,b;

long long ridicare(long long p)
{
    if(p==0)
        return 1;
    long long x=ridicare(p/2)%mod;
    if(p%2==0)
        return x*x%mod;
    else
        return ((x*x)%mod*a)%mod;
}

int main()
{
    fin>>a>>b;
    cout<<ridicare(b);
    return 0;
}