Cod sursa(job #2587477)
Utilizator | Data | 22 martie 2020 18:39:58 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
unsigned long long n, p, x, v[100001], i, nr, r;
int main()
{
fin>>n>>p;
x=1;
while(p!=0)
{
nr++;
v[nr]=p%2;
p=p/2;
}
for(i=nr; i>=1; i--)
{
if(v[i]==0)
x=x*x;
else
{
x=x*x;
x=x*n;
}
r=x%1999999973;
}
fout<<r;
return 0;
}