Program Menghitung Faktorial - Rekursif C/C++
Studi Kasus Praktikum 3.2 (Struktur Data - Modul 3)
Bilangan yang ada merupakan runtutan jumlah dari bilangan sebelumnya, dengan demikian kita dapat mengetahui deret bilangan sebelumnya dengan melakukan faktorisasi dari bilangan tersebut. Hasil dari deret bilangan tersebut dapat dilakukan dengan sebutan faktorial.Contoh 4 difaktorialkan (4!) => 4 3 2 1 : (hasil kali 4!) = 24
#include <iostream> using namespace std; int factorial (int a) //parameter faktorial { //struktur pemiihian if if (a == 0) { //fungsi rekursif return 0; } else if(a > 1) { return (a * factorial (a-1)); } else { return 1; } } int main() { int a; cout << "Program Menampilkan Deret Nilai Faktorial" << endl; cout << "Masukan nilai factorial : "; cin >> a; //imputan faktorial cout << endl; cout << "\n\nRekursif --> Hasil perkalian semua nilai dari " << a << "! = " << factorial (a); //pemanggilan dan menampilkan faktorial return 0; }
Hasil running
Keterangan
Program ini menghitung sebuah faktorial jika dimasukan angka ke dalam program. Program akan meminta nilai inputan berupa variabel a, kemudian akan dipanggil fungsi parameter perhitungan faktorial. Pada fungsi parameter faktorial, terdapat kondisi pada operasi didalamnya terdapat struktur pemilihan if dan operator. Kondisi pertama akan dicek, apabila nilai yang dimasukan 0 maka program akan menjalankan return 0 yang hasil outputnya akan 0. Jika selain 0 maka program akan menjalankan pernyataan return (a * factorial (a-1)).
Yang mana a bernilai 4, 4 * faktorial (4-1)sekarang kita mempunyai nilai 4, selanjutnya mengalikan dengan rekursif, nilai 4 disimpan terlebih dahulu. Rekursif, a bernilai 3, dicek dengan kondisi pertama, karena masih bernilai salah maka dilanjutkan ke pernyataan selanjutnya, 3 * faktorial (3-1). Sekarang kita mempunyai nilai 3, selanjutnya mengalikan dengan rekursif, kemudian kita punya nilai 4*3, dan seterusnya, sampai variabel a bernilai 1, sehingga akan diperoleh perkalian 4*3*2*1 yang menghasilkan 24 yang ditampilkan di fungsi utama.
0 Response to "Program Menghitung Faktorial - Rekursif C/C++"
Post a Comment