Cod sursa(job #2274360)
Utilizator | Stefan Zamfir StefanZamfir | Data | 1 noiembrie 2018 18:23:12 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <iostream>
#include <cstdio>
using namespace std;
const long long mod = 1999999973;
long long exp_log(long long x, long long n){
int r = 1;
while(n){
if(n&1)
r=(1LL*r*x)%mod;
x=(1LL*x*x)%mod;
n/=2;
}
return r;
}
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
int n,p;
cin >> n >> p;
cout << exp_log(n,p);
return 0;
}