写一篇关于目前市面上带保底的抽卡游戏求概率和期望的模型,姑且算抛个砖。
已知每抽概率为p,保底次数为k,求数学期望和实际每抽概率。
在这个模型里我们是以保底次数作为一个研究周期,也就是一个样本容量,且抽卡每抽为等可能事件
在抛开保底的情况下,这个概率分布其实是一个近似的几何分布。
故由几何分布的概率分布可得在没有保底的时候在第n次抽到卡的概率P(n)=(1-p)^n-1*p
故可由数学期望的研究公式得出数学期望
EX = 1p+2(1-p)p+3(1-p)^2p+....+(k-1)(1-p)^k-2p+k(1-p)^k
用期望倒算实际概率p=1/EX。
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
double extract(double p,int i)
{
double P=ipow(1-p,i-1)p;
return P;
}
int main()
{
double p;//每抽概率
int k;//保底所需的次数
cin>>p>>k;
double mean=0;
for(int i=1;i<k;i++)
{
mean=mean+extract(p,i);
}
double last=k*pow(1-p,k-1);
mean=mean+last;
printf(“%lf”,mean);//数学期望值
printf(“%lf”,1/mean);//实际每抽的概率
return 0;
}
以原神为例,90发保底,中奖率0.006.得出数学期望约为70.
棒呀