Faktöriyel
Faktöriyel, matematikte, sağına ünlem işareti konulmuş sayıya verilen isim, daha genel olan Gama fonksiyonunun tam sayılarla sınırlanmış özel bir durumudur. 1'den başlayarak belirli bir sayma sayısına kadar olan sayıların çarpımına o sayının faktöriyeli denir. Basit bir şekilde faktöriyel, n tane ayrık elemanın kaç farklı şekilde sıralanabileceğidir.
n | n! |
---|---|
0 | 1 |
1 | 1 |
2 | 2 |
3 | 6 |
4 | 24 |
5 | 120 |
6 | 720 |
7 | 5040 |
8 | 40320 |
9 | 362880 |
10 | 3628800 |
11 | 39916800 |
12 | 479001600 |
13 | 6227020800 |
14 | 87178291200 |
15 | 1307674368000 |
16 | 20922789888000 |
17 | 355687428096000 |
18 | 6402373705728000 |
19 | 121645100408832000 |
20 | 2432902008176640000 |
25 | 121004×1025 1.551 |
50 | 409320×1064 3.041 |
70 | 857167×10100 1.197 |
100 | 621544×10157 9.332 |
450 | 1.733368733×101000 |
1000 | 4.023872601×102567 |
3249 | 6.412337688×1010000 |
10000 | 2.846259681×1035659 |
25206 | 1.205703438×10100000 |
100000 | 2.824229408×10456573 |
205023 | 2.503898932×101000004 |
1000000 | 8.263931688×105565708 |
10100 | 109.956570552×10101 |
Fonksiyon
Faktöriyel fonksiyonu verilen pozitif tam sayının kendisinden önceki bütün tam sayılarla 1'e inilinceye kadar çarpılması sonucunda elde edilen çarpımı gösterir.
Örnek olarak şunları gösterebiliriz:
Sıfır pozitif bir sayı olmamasına rağmen faktöriyeli tanım olarak bire eşittir: 0!=1
Çünkü 0 ayrık eleman hiçbir şekilde sıralanamaz yani sonuç tektir.
Örnekler
Sual: Ali'nin üç çeşit gömleği, dört çeşit pantolonu, iki çeşit ayakkabısı vardır. Bir gömlek, bir pantolon ve bir ayakkabıyı kaç farklı şekilde giyer?
Cevap: farklı şekilde giyer.
Kodla çözümü
Programlama dillerinde de sıklıkla karşılaşılan bir kavram olan faktöriyel, özyineli (kendi kendini çağıran) ya da tekrarlamalı (iteratif) fonksiyonlarla hesaplanabilir.
Java programlama dilinde yazılmış özyineli ve tekrarlamalı fonksiyonlara birer örnek verecek olursak:
// n! hesabi - Ozyineli
Public Function Faktoriyel_Oz(n) { IF n <= 1 Then Faktoriyel_Oz = 1 Else Faktoriyel_Oz = n*Faktoriyel_Oz(n - 1) End IF End Function
// n! hesabi - tekrarlamali
static double faktoriyelIt(double n) { double f = 1; for (double i = n; i >= 1; --i) { f *= i; } return f; }
Python Programlama Dilinde yazılmış Özyineli ve Tekrarlı fonksiyonlara birer örnek verecek olursak:
// n! - Özyineli
def factorial_R(n): if(n<0):return "Hata" if(n<=1):return 1 return n * factorial_R(n-1)
// n! - Tekrarlı
def factorial_I(n): if(n<0):return "Hata" sonuc = 1 for i in range(1,n+1): sonuc *= i return sonuc