Pagini recente » Istoria paginii runda/jbprep1/clasament | %round_id% | Istoria paginii utilizator/ionelasimona | Istoria paginii utilizator/hereforoji | Cod sursa (job #2305220)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int modulo=1999999973;
int x, y;
int p;
int ridicare_timp_logaritmic(int x, int y);
int main()
{
fin>>x>>y;
fout<<ridicare_timp_logaritmic(x, y)<<'\n';
return 0;
}
int ridicare_timp_logaritmic(int x, int y)
{
int p=1;
while(y>0)
{
///fout<<p<<" - "<<x<<'\n';
if(y%2)
{
p=(p*x)%modulo;
y--;
}
x=(1LL*x*x%modulo)%modulo;
y/=2;
}
return p;
}