Hola buenas,
Alguien podría darme la solución a estos dos ejercicios simples? gracias!
Gracias!!!
| |||
Respuesta: Recursividad - ejercicio basico Tarea 2: En una línea se llama a sí misma, pidiendo que se le devuelva un valor (ya que la función devuelve un entero) y luego se le suma otro valor (el resultado de n*n) Sin embargo, al llamarse a sí misma y ejecutarse de nuevo se vuelve a llamar a sí misma, y repite el proceso. Lo que sucede pueden ser 2 cosas: 1.- Que nunca se cumpla la condición en la que b==0, y se esté llamando una y otra vez a sí misma indefinidamente. 2.- Llegado un ciclo se cumple la condición, y entonces se puede ir hacia atrás en la bola que se ha ido formando de llamarse a sí misma y resolviendo las variables. Toma la función como si fuese un valor de una variable. Lo más fácil es cogerse un papel y lápiz e ir línea a línea asignando valor a las variables que puedas ir dándoselas. Así verás que hay variables que se les puede poner un número directamente, y otras debes de abrir un paréntesis para hacer un cálculo, y quizá ese cálculo sea un número definido... o quizá tengas que abrir otro paréntesis para hacer otro cálculo. Al final tendrás un montón de paréntesis y dentro del todo un número definido, y según vayas saliendo de los paréntesis tendrás que ir haciendo la suma de (n*n) a lo que te vaya saliendo como resultado del paréntesis. Tarea 3: Empieza asignando a a el valor de 10, y a b el valor de 8. Cuando se llame a sí misma calcula los nuevos valores de a y de b. Es decir, (b,a%b)=(8,2) Y así calculas de nuevo los valores que de nuevo entran en Recursiva, y como dentro de sí misma se llama a sí misma, pues devuelves cuanto es a en el momento en el que a%b =0 (a%b = el resto de dividir a entre b, es decir, 7%5 =2, ya que 7 entre 5 = 1... y me sobran 2) |
Etiquetas: |