Cod sursa(job #628365)
Utilizator | Data | 1 noiembrie 2011 11:12:42 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include<stdio.h>
FILE *f,*g;
long long n,p;
long long lgput(long long n,long long p)
{
long long c;
if(p==0) return 1;
else
if(p%2==1) return (n*lgput(n,p-1))%1999999973;
else
if(p%2==0)
{
c=lgput(n,p/2);
return (c*c)%1999999973;
}
}
int main()
{
f=fopen("lgput.in","r");
g=fopen("lgput.out","w");
fscanf(f,"%lld %lld", &x, &n);
fprintf(g,"%lld", putere(x,n)%1999999973);
fclose(f);
fclose(g);
return 0;
}