Cod sursa(job #1639976)

Utilizator justsomedudePalade Thomas-Emanuel justsomedude Data 8 martie 2016 15:04:09
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<iostream>
#include<fstream>
#define MOD 1999999973

using namespace std;

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

int main ()
{
  long long int x, n, p;
  fin >> x >> n;
  p = 1;
  while (n > 0)
  {
      if (n%2 == 0)
      {
          n /= 2;
          x = ((x%MOD)*(x%MOD))%MOD;
      }
      else
      {
          n--;
          p = ((p%MOD)*(x%MOD))%MOD;
      }
  }
  fout << p << "\n";
  fin.close();
  fout.close();
  return 0;
}