Pagini recente » Cod sursa (job #676369) | Cod sursa (job #582437) | Cod sursa (job #2573494) | Cod sursa (job #2974819) | Cod sursa (job #3131826)
#include <stdio.h>
unsigned exp_log_rec(unsigned n, unsigned p){
if(p < 0) return exp_log_rec(1 / n, -p);
if(p == 0) return 1;
if(p % 2 == 0) return exp_log_rec(n*n, p/2);
if(p % 2 == 1) return n * exp_log_rec(n*n, p/2);
}
int main(){
unsigned n,p;
freopen("lgput.in" , "r" , stdin);
freopen("lgput.out" , "w" , stdout);
if(scanf("%d %d" , &n , &p) == 2){
printf("%d" , exp_log_rec(n,p));
}
return 0;
}