北海同志的“学术论文”:非酋检测器

【引言】为了充分证明自己的血统,以科学的方式检查自己的欧气含量,我写了一个简短的小程序,用来完成对活动抽卡情况的统计。

 

【关键词】 概率学、数学、计算机科学

 

【程序内容】

#include<stdio.h>

#include<math.h>

int main()

{

double n,p;int m;

printf(“请输入概率(P)和建造次数(M)”);

scanf(“%lf,%d”,&p,&m);

n=pow(1-p,m-1);

    n=p*n;

printf(“%.12f”,n);

return 0;

}

 

【程序运行环境】:C++

 

【数学原理】

此问题部分相当于:连续干同一件事情若干次,至少成功一次的概率是多少。此时,我们先要计算:一次也没成功的概率是多少。(例:这次活动我在第30发的时候抽出了自己的第一只易北。已知易北的建造概率为2.5%,即我在前29发全空,在第三十发建造出来。因此,我首先需要得到我连空29发的概率)。而到了最后一发,我以正常概率建造出了目标舰船,随即需要在得到的“n”上面在乘以舰船建造概率。由此,我们可以得到本轮抽卡的概率情况。

 

【程序原理】

1、由于程序需要进行幂运算,因此需要在程序前部设定:#include<math.h>

2、为考虑到某些“非酋”,小数点后位数可能相当巨大。故需要“double”“long float”等保证运行。

 

【程序问题】

1、程序相对简单,仅可以支持对固定概率的计算,无法将大小保底(原神)、锚定构筑(少女前线)等较复杂的情况纳入考虑范围之内。目前(对我来说)仅可以用于:碧蓝航线抽卡、灰烬战线出金的情况。

2、程序目前仅可以适配于C++环境,暂无法转换为exe文件,无法大规模推广。

3、由于编译器问题,输入数据的时候应保持英文键盘状态。

要期末考了

编程好难啊…….

资源下载: