Cod sursa(job #2702885)

Utilizator LORDENVraja Luca LORDEN Data 6 februarie 2021 11:14:35
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.36 kb
#include <iostream>
#define m 1999999973

using namespace std;

int n, p ;
long long sol = 1, a ;

int main()
{

    cin >> n >> p ;

    a = n ;

    for (int i = 0 ; (1 << i) <= p ; i ++)
    {

        if (((1 << i) & p) > 0)
            sol = (sol * a) % m ;

        a = (a * a) % m ;

    }

    cout << sol ;

    return 0 ;

}