Cod sursa(job #2280329)

Utilizator Tibi55Ionescu Tiberiu Tibi55 Data 10 noiembrie 2018 14:28:35
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
const int MOD = 1999999973;
long long  put0(int x, int n)
{
    long long  val = 1, a = x;
    while(n > 0)
        if(n % 2 == 0)
        {
            a *= a;
            n /= 2;
        }
        else
        {
            val *= a % MOD;
            n--;
        }
    return val;
}
int main()
{
    long long n, p;
    f >> n >> p;
    g << put0(n, p);
    return 0;
}