six six six
地板
沙发
无敌哥🐂🍺
吹更
来得早,还能伪前排
隔壁测试妹子看完了,没吓哭。然后被我一拳打哭了,我做的对嘛
前排板凳瓜子~
可以理解为连续抽奖 10 次 ,中奖的概率为 50%,每次抽奖的结果都是独立的。连续十次后中奖的汇总情况就有 2^10 种,且每种结果的概率都是一样的 1/1024。
比如=1 要 000000001,这个要比其他 0、1 参半的概率低很多。
1111100000(992)跟 0000011111(31)不是一样的~
结果拼接为字符串,然后二进制转换为整数,拒绝采样,去掉大于 1000 的。
rand 每次结果是独立的,把 10 次 rand 取值通过进制转换为 0-1024 的一个随机数,其中每一个概率都是一样的。去掉大于 1000 部分的就是 0-1000 的随机数了。
def rand():
return random.randint(0,1)
def gettmp():
tmp = ''
# 没次结果都是独立的,连续10次可以视为0-1024内均匀随机
for _ in range(10):
tmp +=str(rand())
return tmp
res = [9999]*1000000
for i in range(1000000):
dd = int(gettmp(),base=2)
if dd<1001:
res[i] = dd
# 看下结果统计
aa = collections.Counter(res)
# 去除掉9999(被拒绝掉的大于1000的部分)
aa.pop(9999)
# 出现最多的次数
print(max(aa.values())) #1077
# 出现最少的次数
print(min(aa.values())) #894
# 元素个数
print(len(aa)) #1001 [0-1000]