/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Necesito Ejemplos de 40 funciones de recursividad.

 
      Índice del Foro elrincondelc.com -> C/C++ en General
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
GuateGio



Registrado: 20 May 2011
Mensajes: 5
Ubicación: Guatemala

MensajePublicado: 20/05/2011 1:52 pm
Título: Necesito Ejemplos de 40 funciones de recursividad.

Hola quiero ayuda con funciones recursivas, necesito 40 pero no se donde encontrar, ya tengo algunas las mas conocidas, fibonacci, factorial, triangulo de pascal, etc. si tienen mas muchisimas gracias.!!!
_________________
Marvin Gio
Volver arriba
Yahoo Messenger
rir3760



Registrado: 01 Oct 2004
Mensajes: 6586
Ubicación: Mexico

MensajePublicado: 20/05/2011 2:18 pm
Título:

Hola GuateGio

Bienvenido a los foros. Por favor no publiques el mismo mensaje en mas de un foro, esa es la razon por la que elimine tu otro mensaje. Mas informacion en la pagina reglas de los foros.

Lo mejor que puedes hacer es utilizar el motor de busqueda de los foros.

Un saludo
_________________
Memory never recaptures reality. Memory reconstructs. All reconstructions change the original, becoming external frames of reference that inevitably fall short.
--
Mentat Handbook
Volver arriba
GuateGio



Registrado: 20 May 2011
Mensajes: 5
Ubicación: Guatemala

MensajePublicado: 20/05/2011 2:24 pm
Título:

Ok no hay problema, solo necesito algoritmos de recursividad, yo tengo estos

int factorial(int n) {
if (n == 0)
return 1;
else
return n*factorial(n-1);
}


----------------------




#include <stdio.h>
int suma (int);
void main ()
{
int n,x;
printf("Numeros que vas a sumar:n");
scanf("%i",&n);
x= suma(n);
printf ("nLa suma es: %i",x);
}

int suma (int n)
{
int numeros,s=0;
if (n==0)
return 0;
else
{
printf ("Introduce los numeros a sumar:");
scanf("%i",&numeros);
s=numeros+suma(n-1);
return s;
}
}


estan bien???

Gracias..
_________________
Marvin Gio
Volver arriba
Yahoo Messenger
Pantalàimon_



Registrado: 17 Jul 2007
Mensajes: 963

MensajePublicado: 20/05/2011 3:42 pm
Título:

Cualquier iteración se puede convertir en una recursión. Así que si no se te ocurre nada siempre puedes tomar un ejemplo iterativo y convertirlo en recursivo:

Código:
int es_primo(int num)
{
   int i;
   for( i = 2; i*i <= num && num % i; ++i );

   return i*i > num;
}


a

Código:
int es_primo( int i, int num )
{
   if( i*i <= num && num % i ) return es_primo( i+1, num );
   else return i*i > num;
}


Dicha función es igual a la iterativa si se llama a ésta con valor 2 en el primer argumento.

Un saludo!
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 6586
Ubicación: Mexico

MensajePublicado: 20/05/2011 3:43 pm
Título:

El segundo ejemplo se puede mejorar un poco eliminando un par de variables. No agregue validaciones para que sea tan sencillo como sea posible:
Código:
#include <stdio.h>
#include <stdlib.h>

int suma(int n);

int main(void)
{
   int n;
   
   puts("Numeros que vas a sumar:");
   scanf ("%i", &n);
   
   printf ("La suma es: %d\n", suma(n));
   
   return EXIT_SUCCESS;
}

int suma (int n)
{
   int numero;
   
   if (n == 0)
      return 0;
   else {
      puts("Introduce el numero:");
      scanf("%d", &numero);
     
      return numero + suma (n - 1);
   }
}


Un saludo
_________________
Memory never recaptures reality. Memory reconstructs. All reconstructions change the original, becoming external frames of reference that inevitably fall short.
--
Mentat Handbook
Volver arriba
manuel_venezuela



Registrado: 02 Mar 2011
Mensajes: 32
Ubicación: venezuela

MensajePublicado: 13/06/2011 8:23 pm
Título: Re: Necesito Ejemplos de 40 funciones de recursividad.

GuateGio escribió:
Hola quiero ayuda con funciones recursivas, necesito 40 pero no se donde encontrar, ya tengo algunas las mas conocidas, fibonacci, factorial, triangulo de pascal, etc. si tienen mas muchisimas gracias.!!!


mira te tengo este ejemplo del deitel....suma el primer tantas veces lo diga...el segundo por ejemplo 8 y 3 son 24...esta en deitel el codigo es
Código:

#include<stdio.h>

int mystery(int ,int);

main()
{

   int x,y;

   printf("Enter two integers: ");
   scanf("%d%d",&x,&y);
   
   printf("The result is %d\n",mystery(x,y));
   return 0;

}

/*Parameter b must be a positive
integer to prevent infinite recursion*/

int mystery(int a, int b)

{
      
   if(b==1)

      return a;
   
   else
      
      return a+mystery(a,b-1);
   
   
}
Volver arriba
manuel_venezuela



Registrado: 02 Mar 2011
Mensajes: 32
Ubicación: venezuela

MensajePublicado: 13/06/2011 8:26 pm
Título: Re: Necesito Ejemplos de 40 funciones de recursividad.

y hay una modificacion que yo la vi asi....donde si colocas 8 y -3 , se resta el numero,....evidentemente el caso base si b=1, sale por ejemplo 8 y 1 sale 8
Código:


#include<stdio.h>

int mystery(int ,int);

main()
{

   int x,y;

   printf("Enter two integers: ");
   scanf("%d%d",&x,&y);
   
   printf("The result is %d\n",mystery(x,y));
   return 0;

}

/*Parameter b must be a positive
integer to prevent infinite recursion*/

int mystery(int a, int b)

{
      
   if(b==1)

      return a;
   if(b<1)
      return -a+mystery(a,b+1);
   else
      
      return a+mystery(a,b-1);
   
   
}
Volver arriba
      Índice del Foro elrincondelc.com -> C/C++ en General
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com