赌徒的谬误骰子
赌徒的谬误是一种认知偏见,我们错误地期望将来发生的事情不太可能在将来发生,而一段时间内未发生的事情在不久之后更可能发生。您的任务是实现特定版本。 挑战说明 编写一个函数,返回一个介于1到6之间(含1和6)的随机整数。问题是:第一次运行该函数时,结果应该是统一的(在1%以内),但是,每个后续调用都将偏向于那些以前滚动次数较少的值。具体细节如下: 骰子记得到目前为止生成的数字计数。 每个结果加权以下公式:countmax−countdie+1countmax−countdie+1count_{max} - count_{die} + 1 例如,如果卷数到目前为止是[1,0,3,2,1,0][1,0,3,2,1,0][1, 0, 3, 2, 1, 0],权重将是[3,4,1,2,3,4][3,4,1,2,3,4][3, 4, 1, 2, 3, 4],也就是说,你将4倍的可能性滚222比333。 请注意,该公式表示[a,b,c,d,e,f][a,b,c,d,e,f][a, b, c, d, e, f]的滚动结果的权重与[a+n,b+n,c+n,d+n,e+n,f+n][a+n,b+n,c+n,d+n,e+n,f+n][a + n, b + n, c + n, d + n, e + n, f + n] 规则与假设 适用标准I / O规则和禁止的漏洞 模切辊不应确定。(即,使用从易失性源中植入的PRNG,通常作为内置源使用。) 您的随机来源的周期必须至少为65535,或者是真正的随机性。 重量不得超过255,分配范围必须在1%以内 …