Cod sursa(job #504563)

Utilizator radu_bucurRadu Bucur radu_bucur Data 28 noiembrie 2010 08:40:03
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 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; } 
     /* 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);}