抛硬币模拟工具食用教程

介绍

这是一款可以模拟抛硬币的软件 没啥好介绍的吧

先来讲一下使用方法,如果要看原理请跳转到这里

使用方法

双击打开即可

第一次打开或者将配置文件删除会弹出这个提示,请仔细阅读
默认勾选下次不再提示,点击确定将写入配置文件 (不要在意配置文件内容我瞎写的)

1
如果您不希望生成配置文件,请取消勾选并以后不要点击保存数据

进入后,软件界面应该如图所示。
2

你可以点击按钮来抛有限次数(只支持双数,至于为啥会在原理中讲到)

如果要计算正面的概率,单击计算概率即可 (反面概率自己算去

自动模式

如果单靠点按钮那点速度,效率是极低的。
所以可以使用自动模式

目前支持自动抛硬币 自动计算概率 自动保存 三种
如果需要使用哪种功能的话直接选中即可
!将选择框选中前请先输入间隔时间
更多内容请在软件内点击获取帮助按钮或看下图
3

多线程

自3.0版本起支持多线程

很简单,如果你需要多少线程在线程数里输入多少就行了
线程数并不是越多越好!

30线程并且间隔时间为1毫秒时大约每秒有2500次,约一天就能抛200000000(即2亿)

总之是能在一定程度上提高速度

守护进程

多线程运行时间久了(约20分钟)会出现突然停止工作的现象
(貌似是ntdll.dll的问题?)

目前限于能力我不知道如何修复这个bug,所以我整了个守护进程
(由于精力有限所以守护进程源码来自互联网)

请将守护进程与抛硬币模拟软件放在同一目录下,并且请运行守护进程!

如果未开启守护进程或未在同一目录下运行你将会看到如下提示
4
不开启守护进程虽然不影响正常运行但在其崩溃后将无法自动重启,所以如果要长时间运行请打开自动保存并配合守护进程使用!

至此,你已经会使用这个没用的软件了。

原理

非常简单的原理,每次抛的时候会随机1-100这100个数字随机选取一个整数,记为x。若1≤x≤50,则记为面,若51≤x≤100,则记为面。
然后会再次在0-100中选取一个整数,记为y。不同的是,这次正反面判定方式与上面恰好相反,即1≤y≤50时记为面,51≤y≤100时记为面。

这就是为什么上文提到只能抛偶数个的原因,或许有助于减小误差

最后

放个下载链接:
最新版本下载:点击下载
守护进程下载:点击下载

在最后,我真的什么也不想说了。放个时间轴在下面吧。
(另外说一下,软件图标都是随便取的,请不要在意)


2023

01-04

最初版本1.0

01-06

2.0版本:相较于上个版本只颠倒了正反面判定方式

01-20

3.0版本:支持多线程,但是很容易无响应,甚至不如上一个版本(

01-25

3.1版本:稍微优化,但是在运行约43s后会有一大堆弹窗错误

01-27

3.2版本:上述问题基本修复

01-28

3.3版本:加入保存/读取数据功能

01-29

经短期测试发现较稳定后开始写这篇文章

01-31

3.4版本:相较于3.3变更较少,优化了部分内容(包括界面)

02-02

3.5版本:经过长期挂机发现在运行约20分钟后会突然闪退,该版本加入了守护进程和全自动模式,更适合长期挂机

03-04

断断续续将进两个月才终于写完这篇文章


–THE END–