Dalam contoh ini, Anda akan belajar menulis program JavaScript yang menemukan faktorial sebuah bilangan menggunakan rekursi.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman JavaScript berikut:
- Rekursi JavaScript
- Pernyataan JavaScript if… else
Faktorial sebuah bilangan adalah hasil kali dari semua bilangan dari 1 sampai bilangan itu. Sebagai contoh,
faktorial dari 5 sama dengan 1 * 2 * 3 * 4 * 5 = 120 .
Faktorial dari bilangan positif n diberikan oleh:
factorial of n (n!) = 1 * 2 * 3 * 4… n
Faktorial bilangan negatif tidak ada dan faktorial 0 adalah 1 .
Contoh: Temukan Faktorial Menggunakan Rekursi
// program to find the factorial of a number function factorial(x) ( // if number is 0 if (x == 0) ( return 1; ) // if number is positive else ( return x * factorial(x - 1); ) ) // take input from the user const num = prompt('Enter a positive number: '); // calling factorial() if num is positive if (num>= 0) ( const result = factorial(num); console.log(`The factorial of $(num) is $(result)`); ) else ( console.log('Enter a positive number.'); )
Keluaran
Masukkan bilangan positif: 4 Faktorial 4 adalah 24
Dalam program di atas, pengguna diminta untuk memasukkan nomor.
Ketika pengguna memasukkan angka negatif, pesan Masukkan angka positif. ditampilkan.
Ketika pengguna memasukkan angka positif atau 0 , fungsi factorial(num)
dipanggil.
- Jika pengguna memasukkan angka 0 , program akan mengembalikan 1 .
- Jika pengguna memasukkan angka yang lebih besar dari 0 , program akan secara rekursif memanggil dirinya sendiri dengan mengurangi jumlahnya.
- Proses ini berlanjut hingga angka menjadi 1. Kemudian ketika angka mencapai 0, 1 dikembalikan.
Sini,
faktorial (4) mengembalikan 4 * faktorial (3) faktorial (3) mengembalikan 4 * 3 * faktorial (2) faktorial (2) mengembalikan 4 * 3 * 2 * faktorial (1) faktorial (1) mengembalikan 4 * 3 * 2 * 1 * faktorial (0) faktorial (0) mengembalikan 4 * 3 * 2 * 1 * 1