potencia recursiva

C
/*Escribir una función recursiva que calcule x^y mediante multiplicaciones
sucesivas, siendo x e y dos números enteros. */

int potencia(int x, int y){
  int res = x;

  if(y == 0){ //caso base
    res = 1;
  }else if(y == 1){
    res = x;
  }else{
    res = res * potencia(x, y - 1);
  }

printf("potencia: %d\n", res);
  return res;
}
Source

Also in C: