Cod sursa(job #1590058)
Utilizator | Data | 4 februarie 2016 17:58:45 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
#define MOD 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
long long base;
int expn;
int powr(long long base, int expn)
{
long long res = 1;
while (expn > 0) {
if (expn % 2 != 0)
res = (res*base) % MOD;
base = (base*base) % MOD;
expn /= 2;
}
return res % MOD;
}
int main()
{
f >> base >> expn;
g << powr(base, expn);
}