<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Vale, entonces el retorno final seria 24? Asi terminaria todo?<br><br><br><hr>Date: Mon, 6 Feb 2012 17:33:30 +0100<br>From: stevenrichard.davidson@gmail.com<br>To: cconclase@listas.conclase.net<br>Subject: Re: [C con Clase] Duda sobre Funciones recursivas<br><br>Hola Óscar,<br><br>
<div class="ecxgmail_quote">2012/2/6 Oscar Aparicio Holgado <span dir=ltr><<a href="mailto:pelucheloko@hotmail.com">pelucheloko@hotmail.com</a>></span><br>
<blockquote style="border-left:#ccc 1px solid;padding-left:1ex" class="ecxgmail_quote">
<div>
<div dir=ltr>Hola que tal amigos.<br><br>Me empieza a salir humo por las orejas con el tema de las funciones recursivas. He leído varios sitios en la web para ver si me aclaro, pero hasta el momento os pongo lo que he entendido de esto, para ver si estoy en lo cierto o no.<br>
<br>Va el ejemplo sobre un factorial, he tenido que buscar también info sobre factoriales ya que no me acuerdo del cole :) hasta ahi bien; va el ejemplo :<br></div></div></blockquote>
<div> </div>
<div>Sí; básicamente, así es. Ahora bien, creo que te queda la "segunda parte" de lo que sucede después, que es el retorno, aunque seguramente lo hayas dado por aludido, también es importante. Esto es,</div>
<div> </div>
<div>factorial(5):</div>
<div>  return 5 * factorial(4) <-------------+</div>
<div>                      |                         |</div>
<div>                     V                        |  24</div>
<div>                factorial(4):                |</div>
<div>                  return 4 * factorial(3) <-------------+</div>
<div>                                      |                         |</div>
<div>                                     V                         |  6</div></div>
<div class="ecxgmail_quote">
<div>                                factorial(3):                |</div>
<div>                                  return 3 * factorial(2) <-------------+</div>
<div>                                                      |                         |</div>
<div>                                                     V                         |  2</div></div>
<div class="ecxgmail_quote">
<div class="ecxgmail_quote">
<div>                                                factorial(2):                |</div>
<div>                                                  return 2 * factorial(1) <--+</div>
<div>                                                                      |              |</div>
<div>                                                                     V              |  1</div></div></div>
<div class="ecxgmail_quote">
<div>                                                                factorial(1):     |</div>
<div>                                                                  return 1 -------+</div></div>
<div class="ecxgmail_quote"> </div>
<div class="ecxgmail_quote">
<div> </div>
<div>Al final, el algoritmo crea algo así,</div>
<div> </div>
<div>5 * (4 * (3 * (2 * (1))))</div>
<div> </div>
<div> </div>
<div>Espero que haya quedado más claro el tema.</div>
<div> </div>
<div>Steven</div>
<div> </div></div>
<br>_______________________________________________
Lista de correo Cconclase Cconclase@listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ                                     </div></body>
</html>