Cod sursa(job #628362)
Utilizator | Data | 1 noiembrie 2011 10:59:37 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include<stdio.h>
FILE *f,*g;
long long n,p;
long long lgput(long long n,long long p)
{
if(p==0) return 1;
else
if(p%2==0) return lgput(n,p/2)*lgput(n,p/2);
else return n*lgput(n-1,p/2)*lgput(n-1,p/2);
}
int main()
{
f=fopen("lgput.in","r");
g=fopen("lgput.out","w");
f>>n>>p;
g<<lgput(n,p);
fclose(f);
fclose(g);
return 0;
}