Cod sursa(job #1314630)
Utilizator | Data | 12 ianuarie 2015 02:37:50 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include <stdio.h>
#include <stdlib.h>
FILE *f,*g;
long long putere (int a , int p)
{ if(p==0)
return 0;
if(p==1)
return a;
if(a%2)
return putere(a,p/2+1)*putere(a,p/2);
return putere(a,p/2)*putere(a,p/2);
}
int main()
{ f=fopen("lgput.in","r");
g=fopen("lgput.out","w");
int n , p ;
fscanf(f,"%d %d",&n,&p);
fprintf(g,"%lld",putere(n,p));
return 0;
}