Cod sursa(job #558230)

Utilizator Cazacu_ElianCazacu-Davidescu Ioan-Elian Cazacu_Elian Data 17 martie 2011 10:00:19
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
using namespace std;
long int n,p,rez,pt,r;
FILE *fin,*fout;
int main()
{
  fin=fopen("lgput.in","r");
  fout=fopen("lgput.out","w");
  fscanf(fin,"%d %d",&n,&p);
  rez=1;
  pt=n;
  while(p>0)
  {
    r=p%2;
    if(r)
    {
      rez=((rez%1999999973)*(pt%1999999973))%1999999973;
    }
    pt=((pt%1999999973)*(pt%1999999973))%1999999973;
    p/=2;
  }
  fprintf(fout,"%d\n",rez);
  fclose(fin);
  fclose(fout);
  return 0;
}