Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Ayuda con algoritmo
Enviado por petercompany el día 26 de mayo de 2008
Buenos días...
hace poco estuve en una prueba y me colocaron el siguiente algoritmo....
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<ctype.h>
int Funcion (int) ;
void main ()
{
int Val = Funcion(6);
int Funcion (int Val)
{
if (Val == 1)
{
return 0 ;
}
else if (Val == 2 || Val == 3)
{
return 1 ;
}
return Funcion(Val -1) + Funcion (Val - 2) ;
}
la verdad no pude hacer bien la prueba de escritorio se que imprime 5 porque lo hice en c, vb, java y php... quisiera saber que es lo que hace esta recursividad o más exactamente cual es la prueba de escritorio?? pues la verdad llego a un punto y no se como realiza esta doble recursividad... de ante mano muchas gracias.. saludos desde Duitama.
Enviado por petercompany el día 29 de mayo de 2008
F(6)
F(5) + F (4)
F(4) + F(3) + F(3) + F(2)
F (3) + F(2)
1 + 1 + 1 + 1 + 1
= 5
Bueno en este ejemplo se entiende mucho mejor... utilicé F para reemplazar Funcion por falta de espacio... pero se entiende perfectamente la prueba de escritorio.... aunque no corresponda exactamente a una prueba de escritorio clarifica nuestro algoritmo.