Python ile Bir Sayının Faktöriyelini Hesaplama

by trustix


Eklenme Tarihi : 19 Aralık 2020 18:31 Views:     2103



  

Faktöriyel Nedir?

Faktöriyel 1'den başlayarak belirli bir sayma sayısına kadar olan sayıların çarpımına denir.

Herhangi bir problemin bir programlama dilinde birçok çözümü olabilir. Faktöriyel hesaplama işlemi de bu şekildedir.

 

Birçok programlama dilinde bir sayının faktöriyelinin hesaplanabilir. Python'da da bir sayının faktöriyelini bulmak için birçok yöntem vardır. Python ile bir sayının faktöriyelini bulmak için birkaç farklı yönteme birlikte değinmeye çalışacağız.

 

Python'da Rekürsif Yöntem ile Faköriyel Hesaplama

 

# Rekürsif Yöntem ile Faktöriyel Hesaplama

"""
    Rekürsif yöntem ile hesaplama yapmak için
    öncelikle bir fonksiyon tanımlıyoruz.
    Daha sonra girilen sayının 1 veya 0 olması
    durumunda faktöriyelin 1 olduğunu
    kontrol yapısı ile belirtiyoruz.
    Eğer girilen sayı sıfır ve birden farklı
    ise sayıyı her defasında bir eksiği ile
    çarparak bu şekilde 1 sayısına ulaşmasını
    ve her defasında sonucu aynı değişkene aktarmasını
    istiyoruz.

"""


def fakt(x):

    return 1\
        if (x == 1 or x == 0)\
        else x * fakt(x - 1);



sayi = int(input('Lütfen Faktöriyelini Hesaplamak İstediğini Sayını Giriniz : '))
print(str(sayi) + " Sayısının faktöriyeli  =  " + str(fakt(sayi)))

# Kullanıcı 12 sayısını girdiğinde
# 12 Sayısının faktöriyeli  =  479001600
  

 

 

Python'da For Döngüsü ile Faköriyel Hesaplama

 

# Python'da for Döngüsü  ile Faktöriyel Hesaplama

"""
    Programlama dillerinde bir problem için birçok çözüm
    yöntemi olduğundan bahsetmiştik. Az önce fonksiyon
    tanımlayarak yaptığımız işlemi
    burada for döngüsü ile yapmış olduk.
"""


# Kullanıcıdan bir sayı girmesini istiyoruz.
x = int(input("Lütfen bir sayı giriniz : "))
a = 1

# Döngü yardımı ile birden sayıya kadar olan sayıların çarpımını buluyoruz.
for i in range (1, x+1):
    a = a*i


print(str(x) + ' sayısının faktöriyeli = '+ str(a))

# Kullanıcı 8 sayısını girdiğinde
# Output: 8 sayısının faktöriyeli = 40320

"""
    Negatif sayıların faktöriyeli olmamaktadır.
    Ancak burada yazdığımız program negatif sayıların faktöriyelini
    1 olarak hesaplamaktadır.
    Bunu engellemek için farklı kontrol yapıları
    denenebilir. 
    Kullanıcının negatif sayı girmesi engellenmelidir.
"""
  
 

 

 

 

Python'da İterasyon ile Faköriyel Hesaplama

 

# Python'da İterasyon ile Faktöriyel Hesaplama

"""
    Burada hem while döngüsü ile
    hem de fonksiyon tanımlayarak
    yinelemeli/iteratif bir şekilde
    faktöriyel hesaplayan bir
    kod bloğu yazmış olduk.
"""


def iterfact(x):
    t=1
    while(x > 1):
        t=t*x
        x=x-1
    return t

sayi =int(input("Lütfen bir sayı giriniz "))

print(str(sayi) + ' sayısının faktöriyeli = ')
print(iterfact(sayi))

"""
    Kullanıcı 7 değerini girdiğinde sonuç
    7 sayısının faktöriyeli =
    5040

"""
  

 

 

Python'da Faktöriyel Hesaplama

 

# Python'da ile Faktöriyel Hesaplama

"""
    Şimdiye kadar yaptığımız örnekler
    sıfır ve sıfırdan büyük sayıların
    faktöriyelini hesaplamak için
    stabil bir şekilde çalışmaktadır.
    Negatif sayıların faktöriyelinin olmadığını
    söylemiştik. Burada bunun için
    bir kontrol yapısı oluşturuyoruz.
    Kullanıcı negatif bir sayı girdiğinde
    negatif sayı girmemesi konusunda bir
    uyarı ile karşılaşmaktadır.
"""

a = int(input('Lütfen bir sayı giriniz : '))

faktoriyel  = 1

if a < 0:
   print("Lütfen negatif bir sayı girmeyiniz.")
elif a == 0:
   print("0 sayısının faktoriyeli = 1")
else:
   for i in range(1,a + 1):
       faktoriyel = faktoriyel*i
   print(str(a) + ' sayısının faktöriyeli = ' + str(faktoriyel))


# Kullanıcı 11 sayısını girdiğinde
# Output: 11 sayısının faktöriyeli = 39916800
  
 

 

 

Python programlama dilinde bir sayının faktöriyelinin hesaplanmasının dört farklı yöntemine değinmiş olduk.

print('Herkese İyi Kodlamalar')

 





0

Yorum Formu

vikikod.com    © 2019