Cod sursa(job #3250824)

Utilizator zamfir10Alex Zamfir zamfir10 Data 23 octombrie 2024 19:35:33
Problema BFS - Parcurgere in latime Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 1.27 kb
import numpy as np
import matplotlib.pyplot as plt

# 1 a) 0.499
# count = 0
# cazuri = 100000
# probHead = 0.5
# xPoz = []
# yPoz = []
# for i in range(1, cazuri):
#     if (np.random.rand()<probHead):
#         count += 1
#     if i%1000==0:
#         xPoz.append(i)
#         yPoz.append(count/i - probHead)

# plt.plot(xPoz, yPoz)


# # 1 b) 0.699
# xpoz2 = []
# ypoz2 = []
# count = 0
# cazuri = 100000
# probHead = 0.7
# for i in range(1, cazuri):
#     if (np.random.rand()<probHead):
#         count += 1
#     if i%1000==0:
#         xpoz2.append(i)
#         ypoz2.append(count/i-probHead)

# plt.plot(xpoz2, ypoz2)
# plt.show()

# HHT HHH TTH H
# HTHHT THHTT HTTTT HTHTH 

# 2 

# count = [0, 0, 0, 0, 0, 0]

# 3 
def getProb(serieLung, nrAruncari, cazuri = 10000):
    count = 0
    for i in range(1, cazuri):
        serie = 0
        prev = -1
        for element in np.random.rand(nrAruncari):
            current = 0 if element < 0.5 else 1
            if(prev == current):
                serie += 1
            else:
                serie = 1
            prev = current
            if(serie >= serieLung):
                count += 1
                break
    print(count/cazuri)

getProb(4,10)
getProb(4,20)
getProb(8,100)