Cod sursa(job #2509459)
| Utilizator | Data | 14 decembrie 2019 11:21:54 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.36 kb |
#include <fstream>
using namespace std;
ifstream f ("lgput.in");
ofstream g ("lgput.out");
long long n,p,a[1001],i,j,m=1999999973,nr=1,k;
int main()
{
f>>n>>p;
k=n;
while (p)
{
a[i]=p%2;
p/=2;
i++;
}
for (j=0;j<i;j++)
{
if (a[j]==1) nr*=k%m;
k*=k;
}
g<<nr;
return 0;
}
