Cod sursa(job #2895097)
| Utilizator | Data | 28 aprilie 2022 18:55:47 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <iostream>
#include <queue>
using namespace std;
queue < pair < int, int > > coada;
long long a, p;
int lgput(long long a, long long p)
{
if (p == 0)
return 1;
else if (p % 2 == 0)
{
long long k;
k = lgput(a, p / 2);
return (k * k) % 1999999973;
}
else
return (a * lgput(a, p - 1)) % 1999999973;
}
int main()
{
cin >> a >> p;
cout << lgput(a, p);
}
