Gönderen Konu: Soru 6: Negatif Olmayan Bir n Tam Sayısının Faktöriyelini Hesaplama  (Okunma sayısı 4431 defa)

Çevrimiçi Lokman Gökçe

  • Lokman Gökçe
  • Administrator
  • Geo-Maniac
  • *********
  • İleti: 3.716
  • Karma: +23/-0
  • İstanbul
Soru 6: Negatif olmayan bir $n$ tam sayısı verildiğinde, $n$ sayısının faktöriyelini hesaplayan Python kodunu yazınız.


Açıklama: $0!=1$ ve $n>0$ iken $n! = 1\cdot 2 \cdot 3 \cdots n$ biçiminde, $1$ den $n$ e kadar olan pozitif tam sayıların çarpımı olarak tanımlanır.

Uğraşınca çözebileceğim zorlukta olan soruları çözmeyi severim.

Çevrimiçi Lokman Gökçe

  • Lokman Gökçe
  • Administrator
  • Geo-Maniac
  • *********
  • İleti: 3.716
  • Karma: +23/-0
  • İstanbul
Ynt: Soru 6: Negatif Olmayan Bir n Tam Sayısının Faktöriyelini Hesaplama
« Yanıtla #1 : Ağustos 23, 2022, 07:39:25 ös »
Çözüm 1: İlk olarak faktöriyel fonksiyonunu kendimizi tanımlayalım:

Kod: [Seç]
def factorial(n):
    result = 1
    for a in range(n+1):
        if a >=1:
            result *= a
    return result
   
print(factorial(5))   # çıktımız 120 olur.


Çözüm 2 A: Python'da bir çok kütüphane (library) vardır. Bunlardan biri de bir çok matematiksel fonksiyonu barındıran math kütüphanesidir. Bir kütüphane Python çalışma sayfanıza nasıl indirilir, bunu da görmüş olalım. import kodu ile bunu yapabiliyoruz. Bu kütüphaneden ithal edilen faktöriyel fonksiyonu math.factorial() olarak yazılır.

Kod: [Seç]
import math
n = int(input())    # gireceğimiz n değeridir.
math.factorial(n)

Fonksiyonun ismini yazmak uzun geldiğinde şöyle yapılabilir: Fonksiyonun ismini kısaca $f$ olarak atayabilirsiniz.

Çözüm 2 B:

Kod: [Seç]
from math import factorial as f
n = int(input())    # gireceğimiz n değeridir.
f(n)

print(f(4))  # çıktımız 24 olur.

Bu $f(n)$ faktöriyel fonksiyonuyla, $n$ farklı nesneden $r$ tanesinin seçim sayısı olan $C(n,r)$ kombinasyon fonksiyonunu da tanımlayabileceğimizi tahmin edebiliriz. Elbette, $C(n,r)$ için de math kütüphanesinde yazılmış hazır bir fonksiyon vardır. Nette araştırıp bulmanızı tavsiye ederiz.
Uğraşınca çözebileceğim zorlukta olan soruları çözmeyi severim.

 


Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 
SimplePortal 2.3.3 © 2008-2010, SimplePortal