Cod sursa(job #2673332)
| Utilizator | Data | 16 noiembrie 2020 16:17:42 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
using namespace std;
// Sandro's Biography
long long Putere(long long n, long long i) {
if (i == 1)
return n;
if (i % 2)
return n * Putere(n * n % 1999999973, i / 2);
else
return Putere(n * n % 1999999973, i / 2);
}
int main() {
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
long long n, m;
scanf("%d %d", &n, &m);
int sol = Putere(n, m);
printf("%lld\n", sol % 1999999973); // Afisam solutia
}
