Faktöriyel
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 | 1.551121004×1025 |
50 | 3.041409320×1064 |
70 | 1.197857167×10100 |
100 | 9.332621544×10157 |
450 | 1.733368733×101.000 |
1000 | 4.023872601×102.567 |
3249 | 6.412337688×1010.000 |
10000 | 2.846259681×1035.659 |
25206 | 1.205703438×10100.000 |
100000 | 2.824229408×10456.573 |
205023 | 2.503898932×101.000.004 |
1000000 | 8.263931688×105.565.708 |
10100 | 109.956570552×10101 |
Faktöriyel, matematikte, sağına ünlem işareti konulmuş sayıya verilen isim, daha genel olan Gama Fonksiyonu'nun 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.
Fonksiyon
Faktöriyel fonksiyonu verilen pozitif tamsayının kendisinden önceki bütün tamsayı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
Problem çözümünde kullanımı
Ö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; }