Cod sursa(job #2479791)

Utilizator MaraPMara P MaraP Data 24 octombrie 2019 16:01:00
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>
#define MOD 1999999973
using namespace std;

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

long long int baza,putere,rezultat=1;

void solve()
{
    while(putere)
    {
        if(putere%2==0)
        {
            baza=(baza*baza)%MOD;
            putere/=2;
        }
        else
        {
            putere--;
            rezultat=(rezultat*baza)%MOD;
        }
    }
    fout<<rezultat;
}
void read()
{
    fin>>baza>>putere;
    solve();
}
int main()
{
    read();
    return 0;
}