Cod sursa(job #796316)
Utilizator | Data | 11 octombrie 2012 00:11:26 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include <fstream>
using namespace std;
ifstream f("ceva.in");
ofstream g("ceva.out");
const int m = 1999999973;
long long n,p;
long long po(long long p)
{
if ( p==1 )
return n%m;
else
{
long long x=po(p/2);
if ( p%2 == 0)
return (x*x)%m;
else
return (((x*x)%m)*n)%m;
}
}
int main ()
{
f>>n>>p;
g<<(po(p)%m);
return 0;
}