Cod sursa(job #2345192)
Utilizator | Data | 15 februarie 2019 22:47:10 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include <fstream>
typedef long long ll;
using namespace std;
ifstream cin("lgput.in");
ofstream cout("lgput.out");
ll n, p;
ll pow(ll n, ll p) {
ll ans = 1;
while(p) {
if(p & 1)
ans = (ans * n) % 1999999973;
p >>= 1;
n = (n * n) % 1999999973;
}
return ans;
}
int main() {
cin >> n >> p;
cout << pow(n, p);
return 0;
}