Cod sursa(job #1105079)

Utilizator vladradu2014Radu Vlad Alexandru vladradu2014 Data 11 februarie 2014 14:03:43
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.39 kb
#include <stdio.h>
#include <string.h>

int main()
{ 
  FILE *fp;
  int i;
  long long N,P,R;
  fp=fopen("lgput.in","r");
  fscanf(fp,"%lld%lld",&N,&P);
  fclose(fp);
  
  R=1;
  for(i=0;(1<<i)<=P;++i)
  {
     if(((1<<i)&P)>0)
        R=(R*N)%1999999973;
     N=(N*N)%1999999973;		
  }
  
  fp=fopen("lgput.out","w");
  fprintf(fp,"%lld\n",R);
  fclose(fp);
  
  return 0;
}