Program Menghitung Faktorial

Diposting pada

Program Menghitung Faktorial

Masukkan suatu bilangan bulat : 5

Nilai 5! adalah : 120

Bandingkan dengan gambar 1.

Alur program tersebut adalah sebagai berikut:

  1.     Deklarasi variabel.
  2.     Input bilangan yang akan difaktorial.
  3.     Pemeriksaan kondisi, jika bilangan kurang dari nol, maka muncul peringatan, jika bilangan lebih besar atau sama dengan nol, maka fungsi faktorial() dipanggil.

Sementara itu di dalam fungsi faktorial() sendiri alurnya adalah sebagai berikut:

    Deklarasi variabel.
    Pemeriksaan kondisi, jika nilai bilangan kurang dari atau sama dengan 1, maka fungsi faktorial() akan menghasilkan nilai balik 1, jika nilai bilangan lebih dari 1, maka dihitung nilai faktorialnya. Perhitungan nilai faktorial mengikuti rumus N! = N x (N-1)!. Karena itu di dalam fungsi faktorial() ini dipanggil lagi fungsi faktorial() namun sekarang nilai argumennya adalah N-1.

Untuk membantu Anda dalam membayangkan alur tersebut, lihat bagan seperti terlihat pada gambar 2.

Dengan memanfaatkan program faktorial di atas, kita bisa membuat suatu program lain yang juga bermanfaat, seperti misalnya program untuk menghitung permutasi dan kombinasi. Permutasi dan kombinasi merupakan proses perhitungan yang kerap dilakukan di bidang ilmu statistik. Rumus perhitungan permutasi dan kombinasi dapat dilihat pada gambar 3. Huruf P menunjukkan permutasi dan huruf C menunjukkan kombinasi. Huruf n dan r mewakili bilangan bulat positif dengan n >= r.

Menghitung faktorial
#include
long int faktorial(int N);
main()
{
long int f;
int n;
clrscr();
printf(“Program Menghitung Faktorial n n”);
printf(“Masukkan suatu bilangan bulat : “);
scanf(“%d”,&n);
if (n<0)
{
printf(“Bilangan harus positif!”);
} else {
f = faktorial(n);
printf(“Nilai %d! adalah : %ld”, n, f);
}
}
long int faktorial(int N)
{
long int F;
if (N<=1)
{
return(1);
} else {
F = N * faktorial(N-1);
return(F);
}
}
Gambar Gravatar
Blogger dan Programmer | andhika.na@gmail.com

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *