Cod sursa(job #1217887)

Utilizator rangerChihai Mihai ranger Data 8 august 2014 16:22:32
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<fstream>
using namespace std;

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

#define ll long long
#define mod 1999999973
int a,n;

ll mult(ll a, ll b)
{
    return ((a%mod)*(b%mod))%mod;
}
ll binpow(ll a, ll n)
{
    if (n==0) return 1;
    if (n%2==1) return mult(binpow(a,n-1),a);
    ll b=binpow(a,n/2);
    return mult(b,b);
}
int main()
{
    cin>>a>>n;
    cout<<binpow(a,n);
    return  0;
}