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.

Faktöriyel dizisinden seçilmiş elementler (OEIS'de A000142 dizisi); bilimsel notasyonla verilmiş değerler, gösterildiği hassasiyete yuvarlanmıştır.
n n!
01
11
22
36
424
5120
6720
75040
840320
9362880
103628800
1139916800
12479001600
136227020800
1487178291200
151307674368000
1620922789888000
17355687428096000
186402373705728000
19121645100408832000
202432902008176640000
25 1.551121004×1025
50 3.041409320×1064
70 1.197857167×10100
100 9.332621544×10157
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
10100109.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


Kaynakça

    Ayrıca bakınız

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.