Cod sursa(job #149541)

Utilizator alex23alexandru andronache alex23 Data 5 martie 2008 20:36:20
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <stdio.h>




 int main()
  {FILE *fin,*fout;
   long int a,n,putere;

   fin=fopen("lgput.in","r");
   fscanf(fin,"%ld %ld",&a,&n);
   fclose(fin);

   putere=1;
   while (n)
    {if (n%2) putere*=a;
     if (putere>1999999973) putere=putere%1999999973;
     n=n/2;
     a=a*a;
     }

  fout=fopen("lgput.out","w");
  fprintf(fout,"%ld",putere);
  fclose(fout);

  return 0;
  }