Cod sursa(job #1126014)

Utilizator bluespideyMarin Diana bluespidey Data 26 februarie 2014 20:46:49
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
#include <algorithm>
#include <cmath>
#define nr 1999999973

using namespace std;

ifstream fin("lgput.in");
ofstream fout("lgput.out");

int n,p,i,r;
long long int s,a;

int main()
{
    fin >> n >> p;
    a = n;
    r = 1;
  for (i = 0; (1<<i) <= p; ++ i)
    {
        if ( ((1<<i) & p) > 0)
            r= (r * a) % nr;

            a=(a * a) % nr;
    }
    fout << r;
}