Cod sursa(job #2818879)
Utilizator | Data | 17 decembrie 2021 10:29:34 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <fstream>
#define ll long long
#define P 1999999973
using namespace std;
ifstream cin ("lgput.in");
ofstream cout ("lgput.out");
ll lg_pow (ll a, ll n)
{
ll res=1;
while (n>0)
{
if (n&1) res=(res*a)%P;
a=(a*a)%P;
n>>=1;
}
return res%P;
}
int main()
{
ll n,m;
cin>>n>>m;
cout<<lg_pow(n,m);
return 0;
}