Cod sursa(job #2435120)
Utilizator | Data | 3 iulie 2019 10:53:13 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include <fstream>
using namespace std;
ifstream cin("lgput.in");
ofstream cout("lgput.out");
#define M 1999999973
#define ll long long
ll n, p;
ll pow(ll x, ll n)
{
if (n == 1) return x % M;
if (n % 2) return (x % M * pow(x % M * x % M, (n - 1) / 2 % M));
return pow(x % M * x % M, n / 2 % M);
}
int main()
{
cin >> n >> p;
cout << pow(n, p) % M;
}