Anda harus menggunakan rekursi untuk menyelesaikan masalah ini.
Dimungkinkan untuk menyelesaikannya secara non-rekursif dan Anda mungkin akan tergoda untuk menggunakan alat yang sudah Anda pahami. Namun, itu mengalahkan tujuan latihan ini, yaitu menjadi lebih nyaman menggunakan rekursi.
Untuk masing -masing latihan ini, tanpa menggunakan kode apa pun, Anda diharapkan untuk mengidentifikasi yang berikut:
Mulailah setiap masalah dengan memahami masalah dan muncul dengan beberapa input dan output sampel. Dalam beberapa latihan kami telah memberikan input dan output sampel untuk kenyamanan Anda.
Tulis fungsi rekursif yang menghitung berapa banyak domba melompati pagar. Program Anda harus mengambil nomor sebagai input. Jumlah itu harus menjadi jumlah domba yang Anda miliki. Fungsi harus menampilkan nomor bersama dengan pesan "Domba lain melompati pagar" sampai tidak ada lagi domba yang tersisa.
Tulis fungsi yang disebut powercalculator () yang mengambil dua parameter, bilangan bulat sebagai basis, dan bilangan bulat lain sebagai eksponen. Fungsi mengembalikan nilai basis yang dinaikkan ke kekuatan eksponen. Gunakan hanya eksponen yang lebih besar dari atau sama dengan 0 (angka positif)
-PowerCalculator (10,2) harus mengembalikan 100 -PowerCalculator (10, -2) harus mengembalikan eksponen harus> = 0
Tulis fungsi yang membalikkan string. Ambil string sebagai input, balikkan string, dan kembalikan string baru.
Hitung angka segitiga ke -n. Angka segitiga menghitung objek yang dapat membentuk segitiga sama sisi. Angka segitiga ke -n adalah jumlah titik -titik yang menyusun segitiga dengan n titik di sisi, dan sama dengan jumlah angka alami N dari 1 hingga n. Ini adalah urutan bilangan segitiga: 1, 3, 6, 10, 15, 21, 28, 36, 45.
Tulis fungsi rekursif yang membagi string berdasarkan pemisah (mirip dengan string.prototype.split). Jangan gunakan fungsi split JS Array untuk menyelesaikan masalah ini.
Tulis fungsi rekursif yang mencetak urutan fibonacci dari angka yang diberikan. Urutan Fibonacci adalah serangkaian angka di mana setiap angka adalah jumlah dari 2 angka sebelumnya. Sebagai contoh, angka Fibonacci ke -7 dalam urutan fibonacci adalah 13. Urutan terlihat sebagai berikut: 1, 1, 2, 3, 5, 8, 13.
Tulis fungsi rekursif yang menemukan faktorial dari nomor yang diberikan. Faktorial angka dapat ditemukan dengan mengalikan angka itu dengan setiap angka antara dirinya dan 1. Misalnya, faktorial 5 adalah 5 * 4 * 3 * 2 * 1 = 120.
Anda telah memasuki labirin dan perlu menemukan jalan keluar darinya. Ada lebih dari satu jalur yang mungkin melalui labirin ke titik keluar tunggal. Tulis fungsi rekursif yang akan membantu Anda menemukan jalan yang mungkin melalui labirin.
Labirin direpresentasikan sebagai matriks N*M. Titik awal adalah sudut kiri atas dan pintu keluar ditunjukkan oleh e. Untuk tujuan kesederhanaan, gunakan sudut kanan bawah labirin sebagai pintu keluar. Anda tidak bisa pergi ke luar batas labirin. Labirin memiliki bagian -bagian yang diblokir dan Anda tidak bisa melewatinya. Bagian -bagian yang diblokir ini ditunjukkan oleh *. Melewati sel yang diblokir serta melewati sel yang telah Anda lewati sebelumnya dilarang.
Untuk labirin besar di bor, jalur keluar yang mungkin dapat berupa rrddllddrrrrrr
Gunakan labirin besar di atas dan memodifikasi solusi Anda sehingga menemukan semua jalur keluar yang mungkin melalui labirin. Untuk menemukan semua kemungkinan jalan keluar melalui labirin, pikirkan tentang berapa banyak tempat yang dapat Anda pindahkan di setiap belokan. Mungkin naik, turun, kiri atau kanan?
Perhatikan bahwa labirin ini memiliki 3 jalan keluar. Fungsi rekursif Anda harus mencetak ketiga jalur dengan arah yang tepat. Misalnya, mengingat labirin di atas, program harus menghasilkan yang berikut:
Anagram adalah kata atau frasa apa pun yang menggunakan huruf dari kata atau frasa atau frasa yang diberikan dalam urutan yang disusun ulang. Tulis fungsi yang membuat daftar anagram, daftar semua pengaturan ulang kata yang diberikan. Misalnya, jika pengguna mengetik "timur", program harus mencantumkan semua 24 permutasi, termasuk "makan", "etas", "teh", dan non-kata seperti "tsae".
Petunjuk: Untuk algoritma Anda, Anda mungkin ingin memikirkan awalan dan menggunakannya untuk membuat kata -kata baru. Misalnya, diberikan "timur", gunakan "e" sebagai awalan dan letakkan di depan semua 6 permutasi "ast" - "ast", "ats", "Sat", "sta", "tas", dan "tsa". Ini akan memberi Anda kata -kata "timur", "makan", "esat", "esta", "etas", dan "etsa". Lanjutkan dengan cara ini sampai Anda menemukan semua anagram untuk "timur". Kemudian Anda dapat menggunakan "A" sebagai awalan dan memungkinkan kata -kata yang tersisa "EST". Untuk "timur", harus ada 24 kata.
Tulis fungsi rekursif yang mencetak objek bagan organisasi dalam bor. Output Anda harus seperti yang ditunjukkan dalam bor dengan lekukan yang tepat untuk menunjukkan hierarki.
Tulis fungsi rekursif yang mencetak representasi biner dari nomor yang diberikan. Misalnya, program harus mengambil 3 sebagai input dan mencetak 11 sebagai output, atau 25 sebagai input dan mencetak 11001 sebagai output. Perhatikan bahwa representasi biner dari 0 harus 0.