JavaRush /Java Blog /Random-ID /Singkatnya, rekursi
vinsler
Level 35

Singkatnya, rekursi

Dipublikasikan di grup Random-ID
Apa itu rekursi di Java, semacam omong kosong yang lengkap dan tidak bisa dipahami, mari kita bahas.
Singkatnya rekursi - 1
Contoh:
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);
            }
        }
Anda dapat menyalin kode ini dan mengujinya sendiri. Deskripsi apa yang terjadi di dalam dengan variabel: awalnya 15, 9 dibagi 15 / 9 = 1, sisa 6 , jika ada sisa, maka fungsi baru diluncurkan, tetapi nilainya sudah 9, 6(dari sisa) dibagi 9 / 6 = 1, sisa 3 , jika ada sisa , lalu fungsi baru diluncurkan, tetapi nilainya sudah 6, 3(dari sisa) dibagi 6 / 3 = 2, sisa 0 jika tidak ada sisa, maka angka kedua dikeluarkan dari fungsi tersebut 3 . Sekarang mari kita lihat semuanya lebih detail, untuk saya nenek.
  1. Rekursi di Java menjalankan suatu fungsi dari dalam fungsi itu sendiri.
  2. Saat suatu fungsi diluncurkan, semua yang dilakukan di dalam fungsi tersebut akan dihapus dan fungsi baru diluncurkan, dengan parameter baru.
Dengan kata lain, jika Anda melihat kata peluncuran fungsi yang sama [rec], ambil fungsi ini di awal deskripsinya, pindahkan parameter yang disediakan ke sana dan lihat apa yang terjadi selanjutnya. Itu saja penjelasannya. Kami menjalankan fungsinya, mengatur parameter tertentu di dalamnya, di mana rekursi dimulai atau beberapa hasil dikembalikan. Itulah seluruh rahasianya. PS: Saya menulis hanya dari kepala saya, langsung dan membantu teman untuk satu hal, jadi segala kritik dan perbaikan sangat diharapkan. )))
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION