Cod sursa(job #149551)

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




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

   fin=fopen("lgput.in","r");
   fscanf(fin,"%lld %lld",&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;
     //if (a>=1999999973) a=a%1999999973;
     }

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

  return 0;
  }