dan inilah source codenya :
----------------------------------------------------------------- #include < iostream>
using namespace std;
int faktorial (int bil)
{ int total;
if (bil==0) return 1;
else if (bil < 0) return 0;
else total=bil*faktorial(bil-1);
return total;
}
int main()
{ int n, i;
cout<<" \n============= FAKTORIAL ============\n";
cout<<" Input bilangan yang akan difaktorialkan: "; cin>>n;
cout<<" hasil dari "<< n << "!" << "=";
for(i=1; i< n ; i++ )
{
cout<< i << "*";
}
if(n>0 && n!=1) cout<< n << "=" << faktorial(n) << endl;
else cout<< faktorial(n) << endl;
}
-----------------------------------------------------------------
Untuk
mempermudah user melihat proses perkalian dari faktorial tersebut maka dibuat
suatu code tertentu yang menggunakan pernyataan for. Pertama inisialisasi i=1,
jika i kurang dari n, maka eksekusi pernyataan di dalam for dengan increment i.
For ini nantinya akan mengoutput tampilan contohnya sebagai berikut: 7!=1*2*3*4*5*6*7. Digunakan for karena dibutuhkan perulangan untuk menampilkan
perkalian dalam faktorial tersebut. Kemudian untuk hasil akhirnya baru
dilakukan pemanggilan fungsi faktorial.
Di dalam fungsi faktorial diproses, jika
bilangan yang diinput 0, maka nilai yang akan dikembalikan adalah 1, jika
bilangan yang diinput kurang dari 0 atau negatif maka nilai yang akan
dikembalikan adalah 0, jika tidak keduanya maka masuk ke pernyataan else dan
masuk ke rumus total=bil*faktorial(bil-1) yang merupakan rekursif (pemanggilan
fungsi di dalam fungsi). Proses yang terjadi misal bilangan yang diinput
sebesar 7 adalah sebagai berikut :
total=7*faktorial(6)=7*720=5040
total=6*faktorial(5)=6*120=720
total=5*faktorial(4)=5*24=120
total=4*faktorial(3)=4*6=24
total=3*faktorial(2)=3*2=6
total=2*faktorial(1)=2.
total=7*faktorial(6)=7*720=5040
total=6*faktorial(5)=6*120=720
total=5*faktorial(4)=5*24=120
total=4*faktorial(3)=4*6=24
total=3*faktorial(2)=3*2=6
total=2*faktorial(1)=2.
-keep calm and CODING-



Tidak ada komentar:
Posting Komentar
read, like, and comment please :D