Cod sursa(job #1575848)
Utilizator | Data | 21 ianuarie 2016 21:38:24 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <cstdio>
using namespace std;
FILE *f,*g;
int main ()
{
f=fopen("lgput.in","r");
g=fopen("lgput.out","w");
long long n,p;
fscanf(f,"%lld %lld",&n,&p);
long long putere=1;
while (p>0)
{
if (p&1)
{
putere*=n;
p--;
}
n=n*n;
p>>=1;
}
fprintf(g,"%lld",putere%1999999973);
fclose(f);
fclose(g);
return 0;
}