Cod sursa(job #998304)

Utilizator AnonymouslegionAnonymous Anonymouslegion Data 16 septembrie 2013 18:38:37
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <cstdio>

using namespace std;

const long long kprime = 1999999973;

long long lgput(long long base, long long exp){
  if(exp == 1)
    return base % kprime;
  long long aux = lgput(base, exp / 2);
  aux = aux * aux % kprime;
  if(exp & 1)
    aux = aux * base % kprime;
  return aux;
}

int main(){
  freopen("lgput.in", "r", stdin);
  freopen("lgput.out", "w", stdout);

  long long base, exp;

  scanf("%lld%lld", &base, &exp);

  printf("%lld", lgput(base, exp));

  return 0;
}