JavaRush /Blog Java /Random-ES /La recursividad en pocas palabras
vinsler
Nivel 35

La recursividad en pocas palabras

Publicado en el grupo Random-ES
¿Qué es la recursividad en Java? Una especie de basura completa e incomprensible, repasémoslo.
Recursión en pocas palabras - 1
Ejemplo:
public class Recursion {
        public static void main(String[] args) {
            System.out.println("Изначальный REC ( 15 , 9 )" );
            System.out.println(rec(15,9)); // запускаем sout с возвращаемым функцией [rec] результатом
        }

        static int rec (int m, int n) { // передаем в функцию [rec] 2 числа
            if(m % n == 0) { // если первое число [m] делится на второе число [n] нацело, то возвращаем его
                System.out.println("Окончателное число " + n);
                return n;
            } else {
                // если не делится нацело, то перезапускаем функцию и заносим в него другие аргументы :
                // в качестве первого уже будет второе число [n],
                // а в качестве второго будет остаток от деления первого[m] на второе[n] 15 / 9 = 1 (+ остаток 6)
                System.out.println("Заносим в REC (" + n + " , " + m % n + ")");
                return rec(n,m % n);
            }
        }
Puede copiar este código y probarlo usted mismo. Descripción de lo que pasa dentro con las variables: inicialmente 15, 9 dividido 15 / 9 = 1, resto 6 , si queda resto, entonces se lanza la nueva función, pero ya estarán los valores 9, 6(del resto) se divide 9 / 6 = 1, resto 3 , si queda resto , luego se lanza la nueva función, pero los valores ya estarán 6, 3(del resto) divididos 6 / 3 = 2, resto 0 si no hay resto, el segundo número sale de la función 3 . Ahora veamos todo con más detalle, para mi abuela.
  1. La recursividad en Java consiste en ejecutar una función desde dentro de la propia función.
  2. Cuando se lanza una función, se borra todo lo que se hizo dentro de la función y se lanza una nueva función, con nuevos parámetros.
En otras palabras, si ve la palabra iniciar la misma función [rec], tome esta función al principio de su descripción, transfiera los parámetros proporcionados allí y vea qué sucede a continuación. Esa es toda la explicación. Ejecutamos la función, configuramos ciertos parámetros dentro de los cuales se inicia la recursividad o se devuelve algún resultado. Ese es todo el secreto. PD: Escribí solo desde mi cabeza, de inmediato y ayudé a un amigo por un lado, por lo que todas las críticas y mejoras son bienvenidas. )))
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION