Geomania.Org Forumları

Python Kodlama ve Matematik => Python Kodlama ve Matematik => Konuyu başlatan: Lokman Gökçe - Ocak 31, 2023, 06:00:01 ös

Başlık: Soru 9: Olasılık ile ilgili bir olimpiyat sorusunun çözümü
Gönderen: Lokman Gökçe - Ocak 31, 2023, 06:00:01 ös
Soru 9: Rastgele seçilen altı basamaklı bir doğal sayının tam olarak iki basamağında $1$ bulunması olasılığı nedir?

$\textbf{a)}\ \dfrac{63}{755} \qquad\textbf{b)}\ \dfrac{81}{800}  \qquad\textbf{c)}\ \dfrac{7}{45}  \qquad\textbf{d)}\ \dfrac{1}{3} \qquad\textbf{e)}\ \dfrac{51}{101} $

Bu problem, 1994 Lise 1. Aşama (https://geomania.org/forum/index.php?topic=6569.0) sınavında sorulmuştur. Klasik çözümü bağlantıda verildi. Problemde istenen olasılığı hesaplayan python kodunu yazalım.
Başlık: Ynt: Soru 9: Olasılık ile ilgili bir olimpiyat sorusunun çözümü
Gönderen: Lokman Gökçe - Ocak 31, 2023, 06:09:56 ös
Çözüm:

Kod: [Seç]
tum_durumlar = [str(x) for x in range(100000, 1000000)]
istenen_durumlar = 0
for x in tum_durumlar:
  if x.count("1")==2:
    istenen_durumlar +=1

print("istenen olasılık {}".format(istenen_durumlar/len(tum_durumlar)))


Açıklama: Önce $100000$ dan $1000000-1$ e kadar olan tam sayılardan oluşan tüm durumların listesini string (kelime) türünde oluşturduk. tum_durumlar isimli listenin uzunluğu, yani eleman sayısı len(tum_durumlar) kodu ile hesaplanır.
Sonra listedeki her bir $x$ sayısı (kelimesi) için, içinde tam olarak $2$ defa $1$ rakamı (harfi) geçen kelimelerin sayısını belirledik. Bu sayıyı istenen durumlar olarak isimlendirdik. Sonra da istenen durumların sayısını, tüm durumların sayısına böldük.
SimplePortal 2.3.3 © 2008-2010, SimplePortal