Cod sursa(job #151763)

Utilizator runnaway90Oprescu Radu Constantin runnaway90 Data 8 martie 2008 16:37:48
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<stdio.h>
#define MOD 1999999973

long long n,p;

long long nlap(int p)
{long long q;
     if (p==1) return n;
     if (p%2==0) 
     {
          q=nlap(p/2)%MOD;
          return (q*q)%MOD;
     }
     else
         return (nlap(p-1)*n)%MOD;
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%lld %lld",&n,&p);
    n%=MOD;
    printf("%lld\n",nlap(p));
    return 0;
}