Cod sursa(job #156451)

Utilizator AlxCojocaru Alexandru Alx Data 12 martie 2008 15:56:47
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.29 kb
#include <stdio.h>
long long n,p,mod=1999999973,r=1,c;
int main()
{
 freopen("lgput.in","r",stdin);
 freopen("lgput.out","w",stdout);
 scanf("%ld %ld\n",&n,&p);
 c=n;
 long long i;
 for (i=0;(1<<i)<=p;i++)
 {
  if (p&(1<<i))
   r=(r*c)%mod;
  c=(c*c)%mod;
 }
 printf("%ld\n",r);
}