Cod sursa(job #571080)
Utilizator | Aleca Daniel Adrian Daniel3717 | Data | 3 aprilie 2011 23:25:53 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
using namespace std;
long long rezolv(long long n,long long p)
{long long i;
n=n%1999999973;
if (p==0)
return 1;
if (p%2==1)
{i=rezolv(n,p-1);
n=n*i;}
if (p%2==0)
{i=rezolv(n,p/2);
n=i*i;}
n=n%1999999973;
return n;}
long long n,p,r;
int main(void)
{ifstream f("grader_test1.in");
ofstream g("lgput.out");
f>>n>>p;
r=rezolv(n,p);
g<<r;
f.close();
g.close();
return 0;}