Algoritma rekursif adalah algoritma yang memanggil dirinya sendiri secara langsung atau tidak langsung. Dalam pemrograman komputer, algoritma rekursif sangat efektif dalam memecahkan masalah kelas besar. Hal ini sering kali membuat deskripsi algoritma menjadi ringkas dan mudah dipahami.
Soal 1: Aturan kolom bilangan adalah sebagai berikut: 1, 1, 2, 3, 5, 8, 13, 21, 34. Berapakah angka ke-30? Gunakan rekursi untuk mengimplementasikan
}
publik statis int Fribonacci(int n){
jika(n<=2)
kembali 1;
kalau tidak
return Fribonacci(n-1)+Fribonacci(n-2);
}
}
Menara Hanoi (juga dikenal sebagai Menara Hanoi) sebenarnya merupakan legenda kuno di India.
Brahma, dewa pencipta dunia (dewa yang mirip dengan Pangu di Tiongkok), meninggalkan tiga batang berlian di sebuah kuil. Yang pertama ditutupi dengan 64 keping emas bulat, yang terbesar di bagian bawah, dan yang lainnya lebih kecil dari Yang kecil, ditumpuk satu demi satu, dan para biksu di kuil memindahkannya satu per satu dari satu tongkat ke tongkat lainnya. Ditetapkan bahwa tongkat tengah dapat digunakan sebagai penolong, tetapi hanya satu yang dapat dipindahkan suatu waktu, dan yang besar tidak dapat ditempatkan di atas yang kecil. Hasil perhitungannya sangat menakutkan (berapa kali piringan tersebut dipindahkan): 18446744073709551615. Bahkan jika para bhikkhu menghabiskan seluruh hidupnya, mustahil untuk menyelesaikan pergerakan piringan emas tersebut.
Syarat: Masukkan bilangan bulat positif n yang menandakan terdapat n disk pada pilar pertama. Keluarkan urutan operasi dalam format "pindahkan t dari x ke y". Setiap operasi mempunyai satu baris, artinya memindahkan disk bernomor t pada kolom x ke kolom y. Kolom diberi nomor A, B, dan C. Anda perlu memindahkan semua pelat dari kolom A ke kolom C dengan jumlah operasi paling sedikit.