Título: Ejercicios Recursivos en Java y sus Soluciones Publicado por: :ohk<any> en 11 Octubre 2008, 03:19 am Planteamiento del Ejercicio acompañado del algoritmo de resolución en Java Planteamiento: Ejercicio 1. Programar un algoritmo recursivo que calcule el factorial de un número. Solución: Código
Planteamiento: Ejercicio 2. Programar un algoritmo recursivo que calcule un número de la serie fibonacci. Solución: Código
Planteamiento: Ejercicio 3. Programar un algoritmo recursivo que permita hacer la división por restas sucesivas. Solución: Código
Planteamiento: Ejercicio 4. Programar un algoritmo recursivo que permita invertir un número. Ejemplo: Entrada: 123 Salida: 321 Solución: Código
Planteamiento: Ejercicio 5. Programar un algoritmo recursivo que permita sumar los dígitos de un número. Ejemplo: Entrada: 123 Resultado:6 Solución: Código
Planteamiento: Ejercicio 6. Programar un algoritmo recursivo que permita hacer una multiplicación, utilizando el método Ruso. Para mas informacion: aqui (http://es.wikipedia.org/wiki/Multiplicación_por_duplicación). Solución: Código
Planteamiento: Ejercicio 7. Programar un algoritmo recursivo que permita sumar los elementos de un vector. Solución: Código
Planteamiento: Ejercicio 8. Programar un algoritmo recursivo que permita multiplicar los elementos de un vector. Solución: Código
Planteamiento: Ejercicio 9. Programar un algoritmo recursivo que calcule el Maximo comun divisor de dos números. Solución: Código
Planteamiento: Ejercicio 10. Programar un algoritmo recursivo que determine si un número es positivo. Solución: Código
Planteamiento: Ejercicio 11. Programar un algoritmo recursivo que determine si un número es impar utilizando recursividad cruzada. Solución: Código
Planteamiento: Ejercicio 12. Programar un algoritmo recursivo que permita sumar los elementos de una matriz. Solución: Código
Planteamiento: Ejercicio 13. Programar un algoritmo recursivo que permita resolver el cuadro latino. Ejemplo de cuadro latino: 0 0 0 0 1 0 0 0 1 2 0 0 1 2 3 0 1 2 3 4 1 2 3 4 5 Solución: Código
Planteamiento: Ejercicio 14. Programar un algoritmo recursivo que permita resolver la siguiente matriz: 1 1 1 1 1 1 2 2 2 2 1 2 4 4 4 1 2 4 8 8 1 2 4 8 16 Solución: Solucionado por: AmeRiK@nO Código
Planteamiento: Ejercicio 15. Programar un algoritmo recursivo que ejecute la matriz del cubo mágico. Solución: Código
Planteamiento: Ejercicio 16. Programar un algoritmo recursivo que muestre el numero menor de un vector. Solución: Código
Planteamiento: Ejercicio 17. Programar un algoritmo recursivo que muestre el numero mayor de un vector. Solución: Código
Citar Recursividad 1.1. Introducción. El concepto de recursividad va ligado al de repetición. Son recursivos aquellos algoritmos que, estando encapsulados dentro de una función, son llamados desde ella misma una y otra vez, en contraposición a los algoritmos iterativos, que hacen uso de bucles while, do-while, for, etc. 1.2. Definición. Algo es recursivo si se define en términos de sí mismo (cuando para definirse hace mención a sí mismo). Para que una definición recursiva sea válida, la referencia a sí misma debe ser relativamente más sencilla que el caso considerado. 1.3. Elementos de la Recursión 1.3. 1. Axioma Es un caso donde el problema puede resolverse sin tener que hacer uso de una nueva llamada a sí mismo. Evita la continuación indefinida de las partes recursivas. 1.3.2. Formula recursiva Relaciona el resultado del algoritmo con resultados de casos más simples. Se hacen nuevas llamadas a la función, pero están más próximas al caso base. Por ejemplo: El factorial de un número factorial(0) -> 1 factorial(1) -> 1*factorial(0) factorial(2) -> 2*factorial(1) factorial(3) -> 3*factorial (2) … -> … factorial(N) -> 3*factorial (N-1) En la resolución de algoritmos recursivos es imprescindible encontrar estos dos elementos. 1.4. Tipos de recursión 1.4.1. Recursividad simple Aquella en cuya definición sólo aparece una llamada recursiva. Se puede transformar con facilidad en algoritmos iterativos. 1.4.2. Recursividad múltiple Se da cuando hay más de una llamada a sí misma dentro del cuerpo de la función, resultando más difícil de hacer de forma iterativa. Un ejemplo típico es la función de fibonacci 1.4.3. Recursividad anidada En algunos de los argumentos de la llamada recursiva hay una nueva llamada a sí misma. La función de Ackermann se define por recursividad como sigue: 1.4.4. Recursividad cruzada o indirecta Son algoritmos donde una función provoca una llamada a sí misma de forma indirecta, a través de otras funciones. OHK Título: Re: Ejercicios Revursivos en Java y sus Soluciones Publicado por: :ohk<any> en 11 Octubre 2008, 03:47 am Alguien se anima a resolver el ejercicio 14 ?
OHK Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: Amerikano|Cls en 13 Noviembre 2008, 02:17 am lo intentare hacer pero necesito tiempo, por que ando ocupado.
amerikano Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: Amerikano|Cls en 27 Noviembre 2008, 22:30 pm Oye una recomendación, el de fibonnaci no es conveniente hacerlo por recursividad, por lo siguiente, y es que las llamadas recursivas se dividen en dos lo cual conlleva a repetir un mismo proceso mas de dos veces y eso le resta velocidad y eficiencia :xD era solo eso jeje.
salu2 Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: Amerikano|Cls en 4 Diciembre 2008, 18:38 pm Planteamiento: Ejercicio 14. Programar un algoritmo recursivo que permita resolver la siguiente matriz: 1 1 1 1 1 1 2 2 2 2 1 2 4 4 4 1 2 4 8 8 1 2 4 8 16 Solución: Código
Bueno yo ya solucione el numero 14 jeje estaba facilito solo que no tenia tiempo de hacerlo, aca va: Código
Bueno cualquier duda comenten que pa eso estoy :xD. salu2 amerikano Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: :ohk<any> en 4 Diciembre 2008, 20:19 pm @AmeRiK@nO, tu ejercicio corre perfectamente, y el codigo no es dificil de interpretar, porque haces codigo limpio.
Ahora mismo lo agrego tu ejercicio a el espacio que falta. Gracias por el aporte Un saludo Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: Amerikano|Cls en 5 Diciembre 2008, 01:49 am jeje debes corregir esto:
Código
Vez, lo puse dos veces sin querer, ahora pon solo uno: Código
Se me coló uno sin darme cuenta ;D, pero así y todo funcionó :), solo era eso. salu2 Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: :ohk<any> en 5 Diciembre 2008, 03:18 am jeje debes corregir esto: Código
Vez, lo puse dos veces sin querer, ahora pon solo uno: Código
Se me coló uno sin darme cuenta ;D, pero así y todo funcionó :), solo era eso. salu2 :xD Da igual, ademas quien lo use se dara cuenta :rolleyes: Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: juancho77 en 7 Diciembre 2008, 01:35 am De todos modos no tiene error, ni sintactico ni semantico. :P
Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: pixzeto en 11 Junio 2009, 02:03 am Estuve practicando con estos ejercicios y parece que el método para invertir un número no funciona bien.
Por ejemplo, si le entregamos el 32, daría: 2 + invertir(3)*10 = 2 + 3*10 = 32 Código: int invertir (int n) Pero lo hice así y funciona: Código: public int invertirNumero(int numero){ Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: Amerikano|Cls en 11 Junio 2009, 02:18 am Aqui agrego unos mios:
- Determinar si una palabra es Palíndroma: Código
- Sumar el borde de una matriz de enteros: Código
Salu2 Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: djrocha en 7 Julio 2009, 19:48 pm Buenas tardes:
Me gustaría conocer el código de estos ejercicios implementándolo en ambiente gráfico. Gracias. Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: VonN en 7 Julio 2009, 20:08 pm Es lo mismo.
Son algoritmos, así que puedes implementarlos como función, y luego pasarle los parámetros correspondientes desde tus objetos. Un saludo Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: saintmauricioxd en 20 Abril 2010, 18:44 pm Estuve practicando con estos ejercicios y parece que el método para invertir un número no funciona bien. Tu algoritmo no es recursivo, recordemos que la recursividad es una alternativa a la iteracion (los bucles for, while no deben usarse al implementar recursividad) pero vale el intento ;)Por ejemplo, si le entregamos el 32, daría: 2 + invertir(3)*10 = 2 + 3*10 = 32 Código: int invertir (int n) Pero lo hice así y funciona: Código: public int invertirNumero(int numero){ Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: cibercito en 18 Junio 2010, 06:27 am Estuve practicando con estos ejercicios y parece que el método para invertir un número no funciona bien. Tu algoritmo no es recursivo, recordemos que la recursividad es una alternativa a la iteracion (los bucles for, while no deben usarse al implementar recursividad) pero vale el intento ;)Por ejemplo, si le entregamos el 32, daría: 2 + invertir(3)*10 = 2 + 3*10 = 32 Código: int invertir (int n) Pero lo hice así y funciona: Código: public int invertirNumero(int numero){ Me gustaria una aclaracion sobre recursividad ,ya que sin ella discrepo contigo , porque considero que ese algoritmo si es recursivo por aplicarse el tambien cierto concepto de :" La recursividad simplemente significa aplicar una función como parte de la definición de esa misma función. " . (yo lo entiendo como , si una funcion se llama dentro de su misma funcion = recursividad ) Entonces quisiera saber : si una funcion tiene n bucles PERO SE HACE RECURSIVIDAD (osea el concepto que yo manejo) , el algoritmo es recursivo o deja de serlo por tener n bucles ?. Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: leogtz en 18 Junio 2010, 21:09 pm Estuve practicando con estos ejercicios y parece que el método para invertir un número no funciona bien. Tu algoritmo no es recursivo, recordemos que la recursividad es una alternativa a la iteracion (los bucles for, while no deben usarse al implementar recursividad) pero vale el intento ;)Por ejemplo, si le entregamos el 32, daría: 2 + invertir(3)*10 = 2 + 3*10 = 32 Código: int invertir (int n) Pero lo hice así y funciona: Código: public int invertirNumero(int numero){ Mal, muy mal, los ciclos no tienen nada que ver con la recursividad, repasa tus apuntes. Y como prueba, observa algunos algoritmos recursivos, como la ordenación quicksort. http://es.wikipedia.org/wiki/Quicksort Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: shigure-dark en 26 Agosto 2010, 06:50 am estoy realizando un ejercicio donde ya realise un programa en el cual ingreso un numero positivo y este me genera la tabla de multiplicar hasta el 10
el asunto es que no tengo ni la mas minima idea de como hacer que este se vulva recursivo ya que en todas las veces que se comento en ninguna el programa esta echo como mi profesora me lo enseño. Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: espabe en 6 Octubre 2010, 06:44 am Hola amigos! estoy llevando un curso de informatica pero yo soy un principiante en la materia. Quisiera saber como ustedes harían un programa con las siguientes normas:
Implemente, tanto de forma recursiva como de forma iterativa, un método que nos devuelva el máximo común divisor de dos números enteros utilizando el algoritmo de Euclides. ALGORITMO DE EUCLIDES Dados dos números enteros positivos m y n, tal que m > n, para encontrar su máximo común divisor (es decir, el mayor entero positivo que divide a ambos): a) Dividir m por n para obtener el resto r (0 <= r < n) b) Si r = 0, el MCD es n. c) Si no, el máximo común divisor es MCD(n,r). Espero que me puedan ayudar, Gracias!! Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: Aeros en 16 Octubre 2010, 21:27 pm xDDDDDDD muestranos lo que tienes y te ayudaremops :D:D
PD : tarea?? Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: [L]ord [R]NA en 16 Octubre 2010, 22:43 pm Aqui no se hacen tareas... dejen de pedir eso.
Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: pavelinhos en 26 Noviembre 2010, 21:35 pm Estuve practicando con estos ejercicios y parece que el método para invertir un número no funciona bien. Aqui un aporte mio: Por ejemplo, si le entregamos el 32, daría: 2 + invertir(3)*10 = 2 + 3*10 = 32 Código: int invertir (int n) Pero lo hice así y funciona: Código: public int invertirNumero(int numero){ Código: public String Invertir(int num){ Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: criptofan en 4 Diciembre 2010, 20:11 pm Aqui un aporte mio: Código: public String Invertir(int num){ Aunque ojo que ahí se esta retornado un String y no un int como es pedido, claramente esto simplifica extremadamente el código por que la suma de cadenas de caracteres simplemente se concatenan a diferencia de la suma de números donde se deben elevar los dígitos a la potencia respectiva para lograr invertir el número. De todas maneras, me gusto mucho tu implementación :) Agrego otra implementación: public static int invertir(int n) { if(n/10==0) return n; else { String s=String.valueOf(n); int aux=n; int contador=s.length(); while(aux%10!=0) { contador--; break; } return (int) ((n%10)*Math.pow(10, contador)+invertir(n/10)); } } Saludos Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: pavelinhos en 14 Diciembre 2010, 23:06 pm Aunque ojo que ahí se esta retornado un String y no un int como es pedido, claramente esto simplifica extremadamente el código por que la suma de cadenas de caracteres simplemente se concatenan a diferencia de la suma de números donde se deben elevar los dígitos a la potencia respectiva para lograr invertir el número. De todas maneras, me gusto mucho tu implementación :) Otra manera seria, convertir el String en un int luego de invertir:Saludos Código
Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: hecter en 10 Febrero 2011, 20:20 pm Esta funcion utilizando la misma logica de recursividad de la idea original funciona
FUNCTION invertir(n INTEGER) RETURN INTEGER deterministic AS vnumDig integer; vnuParEntera pls_integer; BEGIN vnuParEntera := trunc(n, 0); vnumDig := fnugetNumOfDig(vnuParEntera);--esta es una funcion que me obtiene el numero de digito if vnumDig = 1 then return vnuParEntera; end if; return(vnuParEntera mod 10) * Power(10, vnumDig - 1) + invertir(vnuParEntera / 10); END invertir; Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: hecter en 10 Febrero 2011, 20:21 pm FUNCTION invertir(n INTEGER) RETURN INTEGER deterministic AS
vnumDig integer; vnuParEntera pls_integer; BEGIN vnuParEntera := trunc(n, 0); vnumDig := fnugetNumOfDig(vnuParEntera);--esta es una funcion que me obtiene el numero de digito if vnumDig = 1 then return vnuParEntera; end if; return(vnuParEntera mod 10) * Power(10, vnumDig - 1) + invertir(vnuParEntera / 10); END invertir; Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: steven17 en 23 Febrero 2011, 19:52 pm Como haria yo para implementar una función de recursividad para copiar arreglos hasta llenar la memoria.
Es que ocupo crear un programa que cree un arreglo que se llene con mil numeros enteros y despues que haga copias de ese arreglo hasta caer en fallos de memoria Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: bengy en 22 Marzo 2011, 23:54 pm aki les mando el metodo invertir en forma recursiva
public int invertir(int n){ int res=0; if(n<10){ res=n; } else{ res=(n % 10)*(int)Math.pow(10, cantDigitos(n)-1) + invertir(n / 10); } return res; } Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: bengy en 23 Marzo 2011, 00:04 am estuve revisando los metodos realizados en esta pagina y
en la mayoria de los metodos vi un error que no es tan error este es mi consejo y tomenlo del lado positivo vale utilizan mucho el return y lo aconsejable es que solo se invoke el return solo una 1 ves bye y viva la ufc Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: bengy en 25 Marzo 2011, 21:50 pm hola a todos bueno
aki les dejo un programita que les sirva de mucho lo interesante de este metodo es que hace 3 veces la llamada recursiva 1 21 321 4321 54321 654321 asi sucecivamente public int triangulo(int n){ int res=0; if(n==1){ res=1; } else{ res=(int)Math.pow(10,cantDigitos(triangulo(n-1) ))*n+triangulo(n-1); } return res; } Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: AleX Inc. en 20 Abril 2011, 07:51 am Me dejaron de tarea el ejercicio 13, que coincidencia :P
Aqui lo dejo por si les sirve de algo ver otra manera de resolver el cuadro latino, yo use menos parametros. PD: Adjunto la api para que lo prueben. Código: public void cLatino(int[][]mt, int fila, int col) http://upwap.ru/1455317 (http://upwap.ru/1455317) Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: alfred_223315 en 5 Mayo 2011, 04:30 am Hola haber si alguien me puede ayudar nesesito este algoritmo (multiplicacion de matrices) en forma recursiva...
void ingreso(int m[][30],int f,int c){ for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ cout<<"Valor ["<<(i+1)<<"]["<<(j+1)<<"]= "; cin>>m[j]; } } } void mostrar(int m[][30],int f, int c){ for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ cout<<"Valor ["<<(i+1)<<"]["<<(j+1)<<"]= "; cout<<m[j]<<endl; } } } void multiplica(int m1[][30],int m2[][30],int p[][30],int f1,int c1,int f2,int c2){ for(int i=0;i<f1;i++){ for(int j=0;j<c2;j++){ for(int k=0;k<c1;k++){ p[j]=p[j]+(m1[k])*(m2[k][j]); } } } cout<<"\n\n\t\tEL PRODUCTO DE VECTORES ES\n\n"; mostrar(p,f1,c2); } void inicializaValoresEnCero(int p[][30],int f,int c){ for(int i=0;i<f;i++){ for(int j=0;j<c;j++){ p[j]=0; } } } int main(){ int M1[30][30],M2[30][30],P[30][30],f1,c1,f2,c2; cout<<"\n\tPrimera Matriz"<<endl; do{ cout<<"Ingrese el numero de filas "; cin>>f1; }while(f1<1||f1>30); do{ cout<<"Ingrese el numero de columnas "; cin>>c1; }while(c1<1||c1>30); ingreso(M1,f1,c1); cout<<"\n\tSegunda Matriz"<<endl; do{ cout<<"Ingrese el numero de filas "; cin>>f2; }while(f2<1||f2>30); do{ cout<<"Ingrese el numero de columnas "; cin>>c2; }while(c2<1||c2>30); ingreso(M2,f2,c2); if(c1==f2){ cout<<"Se puede multiplicar"<<endl; inicializaValoresEnCero(P,f1,c2); multiplica(M1,M2,P,f1,c1,f2,c2); } else cout<<"NO Se puede multiplicar"<<endl; system("pause"); return 0; } Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: Berrinche en 9 Mayo 2011, 02:39 am Me gustaría saber como hacer un método recursivo que reciba un número entero binario y devuelva el número entero
decimal equivalente. Y también como hacer un método recursivo que reciba un número entero decimal y devuelva una cadena con el número equivalente hexadecimal. No tengo idea ni de como comenzar. LBN Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: owfei en 10 Mayo 2011, 08:13 am En c++ resolvi el de invertir de ésta manera:
Código
Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: Mr.Shak en 11 Mayo 2011, 18:02 pm hola a todos:
Estoy haciendo un curso de java, en el cual tengo que utilizar una función recursiva, o pongo en antecedentes: Estamos creando un multicine, para comprar entradas y demas. El problema viene a la hora de reservar asientos, los cuales puedes ser consecutivos (si tenemos suerte) o no ( que es mi caso). La historia es que si un cliente va a comprar 5 entradas al cine, y no tienen 5 entradas correlativas en la fila que quiera dicho cliente, los he de re-ubicar en otra zona del cine y en el peor de los casos en el que no haya por ningun lado 5 asientos consecutivos, pues por ejemplo ponerlos 3 en una fila y 2 en la siguiente justo delante , y sino de la manera en la que puedan estar mas cerca unos de otros. No voy a decir que me resolvais el codigo, evidentemente, pero la verdad es que no tengo ni p**a idea de como hacerlo. Necesito ayuda de cualquier tipo. Muchas gracias Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: trueno_dp en 15 Junio 2011, 20:20 pm Hola, necesito sacar de forma recursiva los divisores de un numero, tengo la iterativa, pero ni en broma consiga la recursiva. graciaas
public static int recursividad(int numero){ if(numero>2) { return 0; }else { return recursividad(numero%numero-1); } } Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: TheKaleb32 en 16 Junio 2011, 06:08 am /*
Aqui esta una opcion de como se pueden generar con recursividad el ejercicio de invertir un numero.. Se regresa un String, y para solucionar el problema de imprimir ceros innecesarios al inicio o final del String, ocupo un contador y una condición extra..! **/ public static void main(String[] args) { System.out.println( invertir ( 1230456 ) ); }// cierro metodo main public static String invertir( int a, int b) { int c = ++b; if( a % 10 == 0 && c - 1 == 0){ return ( "" + invertir( ( a / 10 ) , c - 1 )); }else{ if ( a == 0 ) return ""; else return ( ( a % 10 ) + invertir( ( a / 10 ) , c ) ); } }//cierro metodo invertir Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: primoxhero en 21 Junio 2011, 23:25 pm por favor ME PUEDEN AYUDAR EN ESTA sumatoria EJERCICIO es la siguiente:
X^1/1!+X^2/2!+X^N/N! Título: Ejercicios Recursivos en Java y sus Soluciones-->>Invertir o Numero Recursivos Publicado por: Skarlo en 1 Diciembre 2011, 03:36 am String pal=JOptionPane.showInputDialog("Introduce la palabra");
JOptionPane.showMessageDialog(null, palabra(pal,pal.length(),"Su invertido es: ")); } static String palabra(String c, int inv, String tama) { inv=inv-1; if(inv>=0) { tama=tama+c.charAt(inv); return palabra(c,inv,tama); } else return tama; } Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: ato2112 en 4 Diciembre 2011, 23:13 pm sin while/for/etc.
public int invertir(int n){ String aux=Integer.toString(n); if (n<10) return n; else return (int) ((n%10)*Math.pow(10, aux.length()-1)+invertir(n/10)); } Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: jert2004 en 18 Julio 2013, 17:42 pm ¿Quien me puede ayudar sumatoria e^x /x! recursividad java?
favor me podrian ayudar ya que llevo varios dias sin resolver, maso menos tengo este codigo es la sumatoria de e a la x sobre x factorial donde e = 2.718186 y x ingresa el usuario package ejrecursividad; import java.util.Scanner; public class SumaFactorialLeperiano { static double FACTOR(int valor1) { if (valor1 == 0) { return 2.718186; } else { int valor2; valor2=valor1; return (Math.pow(2.718186,valor1)/(valor2))+(Math.pow(2.718186,FACTOR(valor1 - 1))/(valor2 * FACTOR(valor2 - 1))); } } public static void main(String[] args) { double resultado; int valor1; System.out.println("ingrese nro1"); Scanner mrno = new Scanner(System.in); valor1 = mrno.nextInt(); resultado = FACTOR(valor1); System.out.println("LA SUMATORIA DEL: " + valor1 + " ES: " + resultado); Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: vhsreturns en 9 Diciembre 2013, 14:09 pm Después de bastantes vueltas conseguí el código jajajaja No se como pones esas tablitas tan bonitas que poneis vosotros, pero os lo pego aqui a ver si alguno puede hacerme el favor de ponerlo bien :)
/** * subprograma que recoje un número por teclado y lo devuelve invertido en el orden * @param num (numero que recojemos por teclado y queremos invertir) * @return resultado (numero invertido) */ public static String invertir (int num){ String resultado = ""; if (num < 10) //caso base resultado = resultado + num; else { //caso general resultado = invertir (num / 10); resultado = ((num % 10)+" , ") + resultado; } return resultado; } Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: kakimanu en 27 Septiembre 2014, 18:30 pm Oye una recomendación, el de fibonnaci no es conveniente hacerlo por recursividad, por lo siguiente, y es que las llamadas recursivas se dividen en dos lo cual conlleva a repetir un mismo proceso mas de dos veces y eso le resta velocidad y eficiencia :xD era solo eso jeje. salu2 Pero si que es conveniente si lo haces con memoria, esto lo que hará es ahorrar un gran número de operaciones ya que las que ya ha calculado las guarda en un mapa y cuando se necesita se utilizan los resultados guardados: Código
Y ya si quieres calcular con números mas grandes puedes hacerlo con BigInteger de igual forma: Código
Un saludo. Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: Minusfour_cierralo_o_baneamefull en 18 Octubre 2014, 05:44 am Chincheta
Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: DarK_FirefoX en 18 Octubre 2014, 07:05 am Pero si que es conveniente si lo haces con memoria, esto lo que hará es ahorrar un gran número de operaciones ya que las que ya ha calculado las guarda en un mapa y cuando se necesita se utilizan los resultados guardados: Código
Y ya si quieres calcular con números mas grandes puedes hacerlo con BigInteger de igual forma: Código
Un saludo. Exactamente como dice kakimanu, se puede hacer el fibonacci de forma dinámica, aqui les dejo un ejemplo recursivo de la forma dinamica manteniendo los valores ya calculados en un array de long, a mi entender un poquito más sencilla. Código
Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: optimus88 en 6 Noviembre 2014, 19:27 pm n problema de recursividad en C , de la expresion de abajo hay que sacar una definicion de recursividad mostrando el caso base y la funcion recursiva.
El problema es este: El número de euler es ampliamente utilizado en el cálculo matemático pero que no puede ser expresado con un número de decimales finito. Tiene un valor aproximado de 2,718. Para poder obtener aproximaciones de dicho número existen diferentes reglas que pueden ser aplicadas. Siguiendo un desarrollo decimal como el mostrado en la figura, puede obtenerse el número e. Para poder realizar un algoritmo que realice dicho cálculo aproximado se requiere crear una función con el siguiente prototipo: float f_euler(int n) Esta función devolverá la aproximación del número e aplicando n desarrollos. Como puede suponer, mientras más grande sea n (más desarrollos serán aplicados), mejor será la aproximación. Considere los siguientes ejemplos: f_euler(0)=2 f_euler(1)=2+ 2/2=3 f_euler(2)=2+ 2/(2+ 3/3)= 2.6666… f_euler(5)=2+ 2/(2+ 3/(3+ 4/(4+ 5/(5+6/6)))))= 2.7184… Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: konika_bn en 17 Noviembre 2015, 11:57 am Buenas, tengo que hacer este problema de forma recursiva. Sólo se me ocurre implementarlo, pero de forma normal, es decir sin recursión. Si me pudiérais ayudar os lo agradecería.
La factorización de números enteros consiste en descomponer un número compuesto (no primo) en divisores no triviales que cuando se multiplican dan el número original. Para nuestro propósito académico queremos implementar una función recursiva que devuelva el número de divisores distintos de un número dado. Por ejemplo, el número 20 tiene 6 divisores: 1, 2, 4, 5, 10 y 20. Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: chiche92 en 29 Noviembre 2015, 04:06 am Hola, estoy empezando con java estoy en primer año, tengo un problema de recursion que aún no pude solucionar y se me acaba el tiempo, si ustedes pudieran indicarme el camino o resolverlo me ayudarian mucho.
El ejercicio es el siguiente: Escribir un método recursivo int vocales(String cd) para calcular el número de vocales de una cadena. Muchas gracias.. Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: abelvaldez en 20 Febrero 2018, 01:33 am Estuve practicando con estos ejercicios y parece que el método para invertir un número no funciona bien. Por ejemplo, si le entregamos el 32, daría: 2 + invertir(3)*10 = 2 + 3*10 = 32 Código: int invertir (int n) Pero lo hice así y funciona: Código: public int invertirNumero(int numero){ Hola Aqui un aporte :), utilize String length para identificar el tipo de unidad (../centena/decena) en cada caso. Código: int invertir(int n){ Y para fibonacci : Código: int fibonaci(int [] array, int n) { Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: jaker250per en 30 Diciembre 2021, 03:20 am 105
Título: Re: Ejercicios Recursivos en Java y sus Soluciones Publicado por: jaker250per en 30 Diciembre 2021, 03:22 am int invertir (int n)
{ if (n < 10) //caso base return n; else return (n % 10) + invertir (n / 10) * 10; } if(numero<10){ return numero; }else{ int contador = 0; int aux = numero; while(aux/10!=0){ contador++; aux = aux/10; } return (int)(Math.pow(10, contador))*(numero%10) + this.invertirNumero(numero/10); } } |