Ver Mensaje Individual
  #23 (permalink)  
Antiguo 21/11/2014, 03:39
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Petando la pila. Problemas y retos usando recursividad.

Cita:
Iniciado por Pantaláimon Ver Mensaje
1) Crear una función comb que reciba dos parámetros y te devuelva el coeficiente binomial.
Código C:
Ver original
  1. unsigned int comb(
  2.     unsigned int n,
  3.     unsigned int k )
  4. {
  5.   if ( n <= k )
  6.     return 0;
  7.   else if ( k > 0 )
  8.     return n * ( n - k ) * comb( n - 1, k - 1 ) / ( k * ( n - k ) );
  9.   else
  10.     return 1;
  11. }

Este de momento era fácil, vamos a ver el siguiente.

Cita:
Iniciado por Pantaláimon Ver Mensaje
2) Dado un número, podemos jugar al siguiente juego...
Código C++:
Ver original
  1. unsigned int collatz(
  2.     const unsigned int n )
  3. {
  4.   if ( n == 1 )
  5.     return 0;
  6.   else if ( n % 2 )
  7.     return 1 + collatz( n * 3 + 1 );
  8.   else
  9.     return 1 + collatz( n / 2 );
  10. }
  11.  
  12. double promedioCollatz(
  13.     const unsigned int num )
  14. {
  15.   if ( num > 0 )
  16.     return ( collatz( num ) + ( num - 1 ) * promedioCollatz( num - 1 ) ) / num;
  17.   else
  18.     return 0;
  19. }

Vamos a probar ahora los de amchacon ;)

Cita:
Iniciado por amchacon Ver Mensaje
¿Quereís un problema recursivo?

Dado un array a, transformarlo en un arbol. Os pongo un ejemplo:

Estoooooo el árbol no debería quedar con esta otra estructura??

Código:
 1
  \
   2
    \
     3
      \
       4
O si no... ¿qué valor tendrían los nodos en negro?

Última edición por eferion; 21/11/2014 a las 04:12 Razón: Publicado el 2º ejercicio