Cod sursa(job #504562)

Utilizator radu_bucurRadu Bucur radu_bucur Data 28 noiembrie 2010 08:35:17
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.33 kb
#include <stdio.h>
int m, n, p, i;
long long s;
int main(){
        freopen("lgput.in","r",stdin);      
		freopen("lgput.out","w",stdout);
        scanf ("%d%d",&n,&p);
        s=1;   m = 1999999973;
      for (i=0;(1<<i)<=p;i++){
      if ( ((1<<i) & p)>0) s= (s*n)%m;
		n=(n*n)%m; }
      printf ("%lld",s);
      return (0);}