Program JavaScript untuk Menemukan Faktorial Bilangan Menggunakan Rekursi

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

Artikel yang menarik...