跳到主要内容
AZ Tools

抛硬币模拟器

一键运行从单次到 10,000 次的抛硬币实验。偏置滑块可把正面概率设在 1% 到 99% 之间,模拟有偏硬币和公平硬币一样简单。每次运行结束后,你会看到正面和反面的次数、观测比率与期望正面数(次数 × 概率)的并排对比,以及每一面的最长连续记录;不超过 1,000 次的运行还会渲染完整的 H/T 序列,让你直观查看连续段并复制出来。 抛掷由浏览器的 Math.random() 在客户端生成——这是一个快速的伪随机数生成器,用于模拟、课堂演示和培养概率直觉在统计上完全够用,但不适合抽奖等存在对抗动机的场景。这些统计量很好地展示了概率的实际运作:随着样本增大,比率会向滑块设定值收敛(大数定律),而最长连续却大约按抛掷次数的 log2 持续增长——真正的随机远比多数人想象的更“连”。

基于 Math.random() — 用于统计/演示足够,不适合加密抽签。

使用方法

  1. 输入要模拟的抛掷次数(1 到 10,000,超出范围会被自动修正)。
  2. 用偏置滑块设置正面概率;公平硬币保持 50% 即可。
  3. 点击 Flip,一次性运行整个实验。
  4. 把观测到的正面次数和比率与期望正面数(次数 × 概率)进行比较。
  5. 若运行不超过 1,000 次,可在统计下方查看或复制完整的 H/T 序列。

常见问题

公平硬币为什么会出现这么长的连续?
在公平的 N 次抛掷中,某一面的最长连续通常在 log2(N) 附近:100 次约 7 连,1,000 次出现 10 连以上也很常见。长连续是符合预期的现象,不是硬币被做手脚的证据——人为编造的“随机”序列反而正因为回避这类连续而容易被识破。
正面比率应该离滑块值多近?
正面次数服从二项分布,标准差为 √(n·p·(1−p))。对公平硬币而言,100 次抛掷偏差 ±5 个百分点属正常,而 10,000 次时只有约 ±0.5 个百分点——加大样本量,你会看到比率不断收紧。
这是密码学安全的随机数吗?
不是。抛掷来自快速伪随机生成器 Math.random()。它用于统计、演示和游戏没问题,但抽奖、安全决策或任何有人可能从偏差中获利的场景,请改用密码学安全或可验证的随机源。
为什么大规模运行不显示序列?
为保持页面流畅,原始 H/T 字符串只在不超过 1,000 次的运行中渲染。但统计始终基于完整运行计算,因此 10,000 次的实验仍会报告精确的次数和最长连续。
可以用它做单次决定性抛掷吗?
可以——把次数设为 1 再点击。每次点击都是独立实验:之前的结果对下一次没有任何影响,正面连出几次并不意味着反面“该出了”(那是赌徒谬误)。

相关工具