Cod sursa(job #2354848)
| Utilizator | Data | 25 februarie 2019 17:10:01 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <bits/stdc++.h>
#define MOD 1999999973
using namespace std;
int main()
{
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
long long sol = 1, baza, exponent;
scanf("%lld%lld", &baza, &exponent);
while (exponent != 0)
{
if (exponent % 2 == 0)
{
baza = (baza * baza) % MOD;
exponent /= 2;
}
else
{
sol = (sol * baza) % MOD;
exponent--;
}
}
sol %= MOD;
printf("%lld", sol);
return 0;
}
