Cod sursa(job #952457)
Utilizator | Darie Sergiu primul | Data | 23 mai 2013 15:30:18 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
using namespace std;
long long exp(long long n, long long e)
{
long long rez;
if (e<=1)
return n%1999999973;
rez=exp(n,e>>1);
rez=(rez*rez)%1999999973;
if (e&1)
rez=(rez*n)%1999999973;
return rez%1999999973;
}
int main()
{
long long n,p;
ifstream f1("lgput.in");
ofstream f2("lgput.out");
f1>>n>>p;
f2<<exp(n,p);
f1.close();
f2.close();
return 0;
}