Pagini recente » Cod sursa (job #42387) | Monitorul de evaluare | Cod sursa (job #2316126) | Cod sursa (job #177219) | Cod sursa (job #2543025)
#include <iostream>
#include <fstream>
using namespace std;
const long long mod=1999999973;
long long log_exp (long long base, long long power){
long long to_return;
if (power == 0ll) return 1ll;
long long aux = power % 2;
switch (aux){
case 0ll:
to_return = log_exp((base%mod) * (base%mod), power/2) % mod;
break;
case 1ll:
to_return = (base%mod * ((log_exp((base%mod) * (base%mod), power/2)) %mod));
break;
}
return to_return;
}
ifstream fin;
ofstream fout;
int main (void){
long long n,p;
fin.open("lgput.in");
fin>>n>>p;
fin.close();
long long result = log_exp(n , p);
result %= mod;
fout.open("lgput.out");
fout<<result<<"\n";
fout.close();
return 0;
}