Cod sursa(job #2282795)
Utilizator | Data | 14 noiembrie 2018 15:36:30 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
int main()
{
long long i, n,p,n1,l=1999999973;
in >> n >> p;
n1 = n;
if(p%2==0)
{
n1=n1*n1;
n=n1;
for(i = 2; i <= p/2; ++i)
{
n = n * n1;
}
}
else
{
n1=n1*n1;
for(i = 2; i <= (p-1)/2; ++i)
{
n = n * n1;
}
n=n*n1;
}
out<<n%l;
return 0;
}