跳到主内容
UniKit

抛硬币

用浏览器的加密随机数抛硬币:单次或一次抛 1–1000 次,可设置正面概率,统计正反面次数、百分比、最长连击与最近结果。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

抛掷设置

随机数来自浏览器的 crypto.getRandomValues,并使用拒绝采样保证任意概率下都没有取模偏置。

1 – 1000

结果

设置好概率与次数后点击按钮开始抛硬币。

这个工具能做什么

  • 两个人都拿不定主意时抛一次硬币决定,结果来自浏览器的加密随机数,比「我随机想的」更可信。
  • 做概率演示或教学:把正面概率调成 60%,一次抛 200 次,看实际占比与设定的偏差有多大。
  • 验证「连胜」这种直觉:一次抛 100 次,最长连击经常比人预想的要长,用来解释随机性很直观。
  • 需要多次重复实验时用批量抛掷加统计,比真拿硬币抛一百次快得多。

示例

输入

正面概率 100%,抛掷次数 5(此时每次必为正面)

输出

总次数 5,正面 5 次、反面 0 次,正面占比 100%,最长正面连击 5、最长反面连击 0,最近结果序列 正正正正正

概率设为 0 或 100 是边界情况,工具会直接返回反面或正面,不消耗随机数;真实使用时概率通常留 50%。

常见问题

随机数是怎么来的,够随机吗?

随机源是浏览器的 crypto.getRandomValues,属于密码学安全的伪随机数。取模时会用拒绝采样丢掉会引入偏置的取值,所以即使把概率设成 33.33% 这种非整百分比,也不会出现某一面偏多的情况。

一次最多能抛多少次?

抛掷次数必须是 1 到 1000 之间的整数,超限会提示而不能提交。单次模式每次只抛一次并累加到当前统计里,批量模式会用你填的次数重新开始一组。

为什么概率设 50% 抛 10 次也可能出现 8 次正面?

概率只描述长期频率。10 次里出现 8 次正面的概率约为 4.4%,并不罕见;样本越小,偏离 50% 的波动越明显,这也是「连胜」看起来不随机的原因。想验证概率请把次数拉到几百次以上。

结果会被记录或上传吗?

不会。随机数在本地生成,统计在内存里算完就显示,页面不发任何请求;刷新页面后统计清零,不存在服务端记录。

「最近结果」为什么只显示一部分?

序列文本最多展示最近 60 次,超出的部分不显示但仍会计入统计。这样连续抛上千次时页面不会被一长串字符撑爆,占比和连击数字依然基于全部结果。

关键词:coin flipcoin tossrandomprobabilityheads or tails抛硬币掷硬币随机概率正面反面

同类工具