Cod sursa(job #419649)

Utilizator ClasianMunteanu Petre Clasian Data 17 martie 2010 19:28:00
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<fstream.h>
ifstream f("lgput.in");
ofstream g("lgput.out");
long long n,p;
long long put(long long p,long long n)
{ if(n==1)return p;
  if(n%2)return p*(put(p,(n-1)>>1)%1999999973)*(put(p,(n-1)>>1)%1999999973)%1999999973;
  return (put(p,(n)>>1)%1999999973)*(put(p,(n)>>1)%1999999973)%1999999973;
}
int main()
{ f>>p>>n;
  g<<put(p,n);
  f.close();
  g.close();
  return 0;
}