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