Dalam contoh ini, Anda akan belajar menemukan faktorial dari bilangan bulat non-negatif yang dimasukkan oleh pengguna menggunakan rekursi.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman C berikut ini:
- Fungsi C.
- C Fungsi yang ditentukan pengguna
- C Rekursi
Faktorial dari bilangan positif n diberikan oleh:
factorial of n (n!) = 1 * 2 * 3 * 4 *… * n
Faktorial bilangan negatif tidak ada. Dan faktorialnya 0
adalah 1
.
Anda akan belajar mencari faktorial sebuah bilangan menggunakan rekursi dalam contoh ini. Kunjungi halaman ini untuk mempelajari bagaimana Anda dapat menemukan faktorial sebuah bilangan dengan menggunakan perulangan.
Faktorial Bilangan Menggunakan Rekursi
#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; )
Keluaran
Masukkan bilangan bulat positif: 6 Faktorial 6 = 720
Misalkan pengguna memasukkan 6.
Awalnya, multiplyNumbers()
dipanggil dari main()
dengan 6 diteruskan sebagai argumen.
Kemudian, 5 diteruskan ke multiplyNumbers()
dari fungsi yang sama (panggilan rekursif). Dalam setiap panggilan rekursif, nilai argumen n dikurangi 1.
Ketika nilai n kurang dari 1, tidak ada panggilan rekursif dan faktorial akhirnya dikembalikan ke main()
fungsi tersebut.