Dalam contoh ini, anda akan belajar mencari faktorial bagi bilangan bulat bukan negatif yang dimasukkan oleh pengguna menggunakan rekursi.
Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan C berikut:
- Fungsi C
- C Fungsi yang ditentukan pengguna
- C Berulang
Faktor faktor nombor positif diberikan oleh:
factorial of n (n!) = 1 * 2 * 3 * 4 *… * n
Faktor faktor nombor negatif tidak wujud. Dan faktor faktor 0
ialah 1
.
Anda akan belajar mencari faktorial nombor menggunakan pengulangan dalam contoh ini. Lawati halaman ini untuk mengetahui bagaimana anda dapat mencari faktor nombor dengan menggunakan gelung.
Faktorial nombor yang menggunakan pengulangan
#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; )
Pengeluaran
Masukkan bilangan bulat positif: 6 Faktor faktor 6 = 720
Andaikan pengguna memasukkan 6.
Pada mulanya, multiplyNumbers()
dipanggil dari main()
dengan 6 disahkan sebagai hujah.
Kemudian, 5 diteruskan ke multiplyNumbers()
dari fungsi yang sama (panggilan berulang). Dalam setiap panggilan berulang, nilai argumen n diturunkan sebanyak 1.
Apabila nilai n kurang dari 1, tidak ada panggilan rekursif dan faktorial dikembalikan ke main()
fungsi akhirnya .