Cod sursa(job #1226799)
Utilizator | Data | 7 septembrie 2014 22:47:25 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <stdio.h>
int n,p;
int logaritmic(int p)
{
if (p == 0)
return (1);
else
{
if (p%2 == 0)
return (logaritmic(p/2)*logaritmic(p/2));
else
return(n*logaritmic(p/2)*logaritmic(p/2));
};
}
void main()
{
int i;
FILE *f,*g;
f = fopen("lgput.in","r");
fscanf(f,"%d %d",&n,&p);
fclose(f);
g = fopen("lgput.out","w");
fprintf(g,"%d",logaritmic(p)%1999999973);
fclose(g);
}