Strona 1 z 1

Python

: 08 lut 2022, 19:09
autor: Ola00
Python
Stworzyć symulację komputerową w Pythonie i za jej pomocą ocenić średnią liczbę dni oczekiwania.
Nieprzeźroczysta fiolka zawiera 30 tabletek. Kuracja polega na przyjęciu połowy tabletki dziennie. Jeśli wyjęliśmy całą tabletkę, to połowę wrzucamy z powrotem do fiolki. Jeśli natrafimy na połówkę, to tę zużywamy. Tabletki są wyjmowane z fiolki na chybił-trafił. Ile średnio dni musi czekać kuracjusz na wyjęcie połowy tabletki?

Re: Python

: 08 lut 2022, 21:03
autor: kerajs
Część matematyczną znajdziesz tu:
https://matematykaszkolna.pl/forum/412837.html

Re: Python

: 05 kwie 2023, 13:25
autor: uziom

Kod: Zaznacz cały

import random

def simulate(days):
    pills = 30
    wait_days = []
    
    for i in range(days):
        if pills == 0:
            pills += 15 # dodajemy połowę fiolki
        draw = random.randint(0, pills)
        pills -= draw
        wait_days.append(i+1)
        if pills == 15:
            pills -= 15 # bierzemy połowę fiolki
            
    return sum(wait_days) / days

print(simulate(100000))