Cod sursa(job #1356259)
Utilizator | Data | 23 februarie 2015 12:21:34 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
const int mod=1999999973;
int N, P;
long long lg_exp(long long baza, long long exp)
{
long long rez=1;
while (exp)
{
if (exp%2) rez*=baza;
baza*=baza; baza%=mod;
exp/=2; rez%=mod;
}
return rez;
}
int main()
{
f>>N>>P;
g<<lg_exp(N, P)<<'\n';
return 0;
}