这是之前玩快3的时候计算的一个返还率时所写的程序。快3说白了就是一个赌博游戏,三个骰子摇出结果,你猜是多少,猜中的话根据不同数字的赔率返还。我只计算理想状态下猜三个骰子和值的返还率,不管QQ网站的算法能不能达到理想状态的分布情况。
总共有三个骰子,每个骰子可以取值1-6,和的取值范围是3-18,网站上去掉了最大值18和最小值3不作下注对象,估计是有猫腻;我把这两个情况也计算进去,也算是赔率是0. 先计算每个和值出现的概率,再把每个概率乘以对应的返还数值,计算出的值就是投一注的时候的返回期望值。可以看出买8和13相对返还期望要高一点;而全面计算得出的是坑爹的0.993056——也就是说你投入2块钱买一注,返还只有不到一块钱!这坑爹的QQ网站!比做什么其他项目投资好多了,怪不得抢着做这些违法的赌博事情。
目前我收集了一些已经产生的数据结果,还没有一起分析,有时间可以再分析一下猜测一下这个赌博使用的随机算法——如果是一直使用同一个随机算法的话。
#include <stdio.h>
#include <vector>
int main()
{
std::vector<int> vec_all;
//计算所有出现情况
for (int i = 1;i<=6;++i)
{
for (int j=1;j<=6;++j)
{
for (int k=1;k<=6;++k)
{
vec_all.push_back(i+j+k);
}
}
}
int m = vec_all.size();
int result[19]={0};