#include long pot(long x, long n); int main(){ long x = 2, n=10; printf("%ld elevado a %ld e: %ld\n",x, n, pot(x,n)); } long pot(long x, long n){ if(n == 0) return 1; else{ if(n%2 == 0){// se n for par double aux = pot(x,n/2); return aux*aux; }else{// se n for impar double aux = pot(x, (n-1)/2); return x*aux*aux; } } }