Cod sursa(job #274617)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 9 martie 2009 21:23:43
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <stdio.h>

#define Mod 1999999973

long long a,b;

long long power(long long a, long long b)
{
 long long x;
 if (b==1) return a;
 else
 if (b%2==0)
     {
      x=power(a,b/2);
      return (x*x)%Mod;
     }
     else
     {
      x=power(a,b/2);
      return (((x*x)%Mod)*a)%Mod;
     }
}

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

  scanf("%lld %lld", &a,&b);
  printf("%lld", power(a,b));
  return 0;
}