Cod sursa(job #1883866)

Utilizator razvan99hHorhat Razvan razvan99h Data 18 februarie 2017 11:43:50
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>
#define MOD 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");

int lg_put(int b, int exp)//ridicare la putere in timp logaritmic cu op pe biti
{
    int rez = 1;
    for(int bit = 1; bit <= exp; bit <<= 1)
    {
        if(exp & bit)
            rez = 1ll * rez * b % MOD;
        b = 1ll * b * b % MOD;
    }
    return rez;
}


int main()
{
    int n, p;
    fin >>> n >> p;
    fout << lg_put(n,p);
    return 0;
}