Cod sursa(job #147361)

Utilizator Mishu91Andrei Misarca Mishu91 Data 2 martie 2008 20:41:03
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>

FILE *fin=freopen("lgput.in","r",stdin),
     *fout=freopen("lgput.out","w",stdout);
     
  

long long pow(long long x, long long n)
{
    long long result = 1;
    while ( n>0 ) {
        if ( n & 1 ) {
            result = (result * x) % 1999999973;
            n = n-1; 
        }
        x = (x*x) % 1999999973;
        n>>=1;;
    }
    return result;
}


int main()
{
  long long x,n;
  scanf("%lld %lld",&x,&n);
  printf("%lld",pow(x,n));
  return 0;
}