Cod sursa(job #2305097)

Utilizator st_marianStoica Marian st_marian Data 19 decembrie 2018 07:05:33
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int baza, putere;
int p;
int main()
{
    fin>>baza>>putere;
    p=baza;
    while(putere!=1)
    {
        if(putere%2)
        {
            putere--;
            p=(p*baza)%1999999973;
        }
        else
        {
            p=(p*p)%1999999973;
            putere/=2;
        }
    }
    fout<<p<<'\n';
    return 0;
}