Cod sursa(job #2702886)

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

using namespace std;

ifstream cin ("lgput.in") ;
ofstream cout ("lgput.out") ;

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 ;

}