import numpy as np from numpy import random def birthday_test(): NUM_STUDENT = 25 NUM_EXER = 1000 count = 0 for i in range(NUM_EXER): birthdays = [] for j in range(NUM_STUDENT): birthdays.append(np.random.randint(356)) if len(set(birthdays)) == NUM_STUDENT:#25个人的生日都不同 count += 1 #print(count/NUM_EXER) return count/NUM_EXER i=0 a=np.zeros(300) while i<300: a[i]=birthday_test() i+=1 print('实验结果:') print(a) #输出均值 sum_value=0 for i in a: sum_value+=i print('实验均值:') print(sum_value/300) #输出方差 variance=0 sum_variance=0 for i in a: variance=(i-sum_value/300)**2 sum_variance+=variance print('实验方差:') print(sum_variance/300)
概率算法生日问题,25个人生日两两不同的概率 ,300次试验Python 代码
最新推荐文章于 2023-10-10 05:51:02 发布