Python Kodlama ve Matematik > Python Kodlama ve Matematik
Soru 9: Olasılık ile ilgili bir olimpiyat sorusunun çözümü
(1/1)
Lokman Gökçe:
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 sınavında sorulmuştur. Klasik çözümü bağlantıda verildi. Problemde istenen olasılığı hesaplayan python kodunu yazalım.
Lokman Gökçe:
Çözüm:
--- Kod: ---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)))
--- Kod sonu ---
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.
Navigasyon
[0] Mesajlar
Tam sürüme git