Cod sursa(job #2270670)

Utilizator gabiluciuLuciu Gabriel gabiluciu Data 27 octombrie 2018 12:45:36
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.33 kb
#include <cstdio>
#include <iostream>
using namespace std;

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    long long x = 1,a=2,p;
    cin >>a>> p;
    while(p){
        if(p%2) x=(x*a)%1999999973,--p;
        else a=(a*a)%1999999973,p/=2;
    }
    cout << x;
    return 0;
}