Cod sursa(job #384807)

Utilizator APOCALYPTODragos APOCALYPTO Data 20 ianuarie 2010 23:36:52
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<iostream>
#include<fstream>
using namespace std;
int main()
{long long prod, n ,p, i, m=1999999973;
    ifstream fin("lgput.in");
    fin>>n>>p;
    fin.close();
    long a=n;
    prod=1;
    for(i=0;(1<<i)<=p;i++)
     {
         if(((1<<i)&p)>0)
          prod=(prod*a)%m;
      a=(a*a)%m;

     }
     ofstream fout("lgput.out");
     fout<<prod;
     fout.close();
     return 0;
}