Cod sursa(job #2088621)
Utilizator | Data | 15 decembrie 2017 16:45:33 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
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)%m*pow(n,p%2))%m;
}
int main() {
ifstream cin("lgput.in");
ofstream cout("lgput.out");
cin>>n>>p;
cout<<pow(n,p)%m;
return 0;
}