Kamis, 01 Januari 2015

Faktorial

Dalam matematika, faktorial dari bilangan asli n adalah hasil perkalian antara bilangan bulat positif yang kurang dari atau sama dengan n. Faktorial ditulis sebagai n! dan disebut n faktorial. Secara umum dapat dituliskan sebagai:
n!=n \cdot (n-1) \cdot (n-2)\cdot (n-3) \cdot ... \cdot 3 \cdot 2 \cdot 1
Sebagai contoh, nilai dari 7! adalah 7\cdot6\cdot5\cdot4\cdot3\cdot2\cdot1=5040. Berikut ini adalah daftar sejumlah faktorial :
n n!
0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800
12 479001600
14 87178291200
16 20922789888000
18 6402373705728000
20 2432902008176640000
25 1.5511210043×1025
42 1.4050061178×1051
50 3.0414093202×1064
70 1.1978571670×10100
100 9.3326215444×10157
450 1.7333687331×101.000
1000 4.0238726008×102.567
3249 6.4123376883×1010.000
10000 2.8462596809×1035.659
25206 1.2057034382×10100.000
100000 2.8242294080×10456.573
205023 2.5038989317×101.000.004
1000000 8.2639316883×105.565.708

Dan kali ini, Ratih akan share contoh koding dan beberapa study kasus faktorial dalam pemrograman delphi..

Contoh pertama program faktorial 

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
procedure faktorial(var fak,hasil:integer);
  var
  i:integer;

begin
hasil:=1;
for i:= 2 to fak do
hasil:=hasil*i;
end;
var
N,F:integer;
begin
write ('Ratih Arifiana Atika Irani');
readln;
write ('============================');
readln;
write ('Berapa faktorial?');
readln(N);
faktorial(N,F);
writeln(N,'faktorial=',F);
readln;

  { TODO -oUser -cConsole Main : Insert code here }
end.

Study Kasus 1 :

Dengan menggunakan procedure, buat program untuk menghitung banyaknya kombinasi dengan rumus :
C r,n= N!/(N-R)!.R!
N = banyaknya data yang di kombinasikan
R = jumlah kombinasi
C = jumlah kombinasi yang terjadi

Contoh :
Misal jumlah data yang dikombinasi 3 buah :
A, B, C akan akan dikombinasikan dua. dua ( R = 2 )
maka kombinasi yang terjadi adalah AB, AC dan BC.

Berikut contoh koding untuk soal di atas..


program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
procedure faktorial(var fak,hasil:integer);
  var
  i:integer;

begin
hasil:=1;
for i:= 2 to fak do
hasil:=hasil*i;
end;
var
C:real;N,R,NminR:integer;
f1,f2,f3:integer;
begin
write ('Banyaknya data yang dikombinasikan=');
readln(N);
write ('Banyaknya kombinasi=');readln(R);
faktorial(N,f1);
NminR:=N-R;
faktorial (NminR,f2);
faktorial(R,f3);
C:=f1/f2*f3;
writeln('Jumlah kombinasi yang terjadi=',C);
readln;

  { TODO -oUser -cConsole Main : Insert code here }
end.

Tidak ada komentar:

Posting Komentar