Cod sursa(job #147359)

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

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

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


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