Cod sursa(job #2169819)
Utilizator | Data | 14 martie 2018 17:56:40 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
#define k 1999999973
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
int a, b;
long long putere (long long n, long long p)
{
int x;
if(p==0)
return 1;
else
{
x = putere (n, p/2);
if(p%2 == 0)
return (x*x)%k;
else
return ((x*x)%k)*n %k;
}
}
int main ()
{
fin >> a >> b;
fout << putere (a,b);
}