Cod sursa(job #2702885)
Utilizator | 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 ;
}