Cod sursa(job #2517275)

Utilizator TSN1005Simon S TSN1005 Data 3 ianuarie 2020 12:03:20
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <cmath>
#define mod 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream gout("lgput.out");

long long int putere_log(long long int x, long long int n){
    if(n == 1)
      return x;
    if(n == 0)
      return 1;
    long long int rez = (putere_log(x % mod, n / 2) % mod);
    if(n % 2 == 0)
      return (rez * rez) % mod;
    return (rez * rez) % mod * x % mod;
}


int main()
{
  long long int n, P;
  fin >> n >> P;
  gout << putere_log(n, P);



    return 0;

}