| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
GuateGio
Registrado: 20 May 2011 Mensajes: 5 Ubicación: Guatemala
| Publicado: 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 | |  | rir3760

Registrado: 01 Oct 2004 Mensajes: 6586 Ubicación: Mexico
| Publicado: 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
| Publicado: 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 | |  | | Pantalàimon_
Registrado: 17 Jul 2007 Mensajes: 963
| Publicado: 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
| Publicado: 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
| Publicado: 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
| Publicado: 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 | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |