Cod sursa(job #2183983)
Utilizator | Data | 23 martie 2018 17:13:27 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int M=1999999973;
int n,p;
int put(int n, int p) {
if (p==1) return n;
if (p%2) return (n*(put(n,p-1))%M)%M;
return (put(n,p/2)%M*put(n,p/2)%M)%M;
}
int32_t main() {
ifstream cin("lgput.in");
ofstream cout("lgput.out");
cin>>n>>p;
cout<<put(n,p)%M;
return 0;
}