Cod sursa(job #2088615)
Utilizator | Data | 15 decembrie 2017 16:41:25 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include<bits/stdc++.h>
#define m 1999999973
#define ll unsigned long long
using namespace std;
ll n,p,rs;
ll pow(ll n, ll p) {
if (p==1) return n%m;
if (p==0) return 1;
long long t = pow(n,p/2)%m;
return t*t*pow(n,p%2);
}
int main() {
/* ifstream cin("lgput.in");
ofstream cout("lgput.out");*/
cin>>n>>p;
cout<<pow(n,p)%m;
return 0;
}