Cod sursa(job #2383451)
Utilizator | Data | 19 martie 2019 15:24:26 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | excelenta-tema2 | Marime | 0.37 kb |
#include <fstream>
using namespace std;
ifstream in ("lgput.in");
ofstream out ("lgput.out");
int main ()
{
unsigned long long a,b,sol=1,n;
const int m = 1999999973;
in>>a>>b;
n=a;
for (int i=0; (1<<i)<=b; ++i)
{
if (b&(1<<i))
sol*=n;
n*=n;
sol%=m;
n%=m;
}
out<<sol;
return 0;
}