崩坏3卡池模拟器及毕业期望概率计算(含保底)
目录
- 崩坏3卡池模拟器及毕业期望概率计算(含保底)
- 简介
- 程序演示
- 得出的一些有趣结果
- readme
- code
崩坏3卡池模拟器及毕业期望概率计算(含保底)
简介
最近学概率论要求写论文,没什么好写的,所以就整点跟专业相关的东西吧。抽雷律泪目了,想自己算算大概需要多少发能毕业。
概率论学的不太好,而且补给给出的概率是包含保底的,精确的单抽时的概率算不出来,只能通过大量测试的结果倒推概率,结果应该是差不多的。
代码很简陋,c语言写的,只是很多的if,else,和随机数。可以打包很多地方的,写完就不想动了…图一乐就行,也可以抽之前测测今天非不非嘿嘿
程序演示
输入数字就可以开冲了,来一发单抽
好吧镜子,再来十连
歪了
这是百万次模拟的结果,用来估算单抽时概率的,我最后校准完就是现在这样,和官方给出的武器2.479%,圣痕1.24%差不多
第四项下面解析
得出的一些有趣结果
这个程序最终算出来的概率和官方给出的是吻合的,但自己测试时明显感觉吃10发保底的次数比游戏里多。米忽悠的算法肯定不是我这么简单
这次一万人的模拟中可以看出:
- 可以看到平均毕业得花108抽,中位数没算,应该比这个低一点,我看有up主算的102左右。
- 欧皇15发毕业了
- 最非的酋长394发才毕业,出了11把武器,是真的惨,所以求求社区里的人别歪一发就喊自己非了…看的烦
- 测试的过程中最非的会有600发才许愿毕业,真的很离谱。
再多来几个测试结果给大伙乐呵一下
readme
正常的c语言文件,直接运行,根据提示输入数字即可
up的为袖缠云和戍边套,其他的四星统一叫up外武器了(包括圣痕)
code
#include<stdio.h>
#include<stdlib.h>
#include <time.h>int main(){printf("***********************\n");printf(" 欢迎来到抽卡模拟器 \n");int rad; //随机数srand((int)time(NULL));char chizi[9][50]={"袖缠云","戍边(上)","戍边(中)","戍边(下)","真理之钥","皮里(上)","皮里(中)","皮里(下)","材料"};int baodi = 1;while(1){printf("请选择:\n");printf("1.一发单抽 2.一发十连 3.出货概率校准 4.计算平均毕业次数 5.结束程序\n");int function;scanf("%d",&function);//单抽出奇迹if(baodi!=10 && function==1){rad =rand()%10000+1;if(5000<rad&&rad<5071){int i=0;while(chizi[0][i]!=0)printf("%c",chizi[0][i++]);printf("\n");baodi=1;}else if(5098<=rad&&rad<5148){int i=0;while(chizi[1][i]!=0)printf("%c",chizi[1][i++]);printf("\n");baodi=1;}else if(51467<=rad&&rad<5197){int i=0;while(chizi[2][i]!=0)printf("%c",chizi[2][i++]);printf("\n");baodi=1;}else if(5195<=rad&&rad<5246){int i=0;while(chizi[3][i]!=0)printf("%c",chizi[3][i++]);printf("\n");baodi=1;}else{printf("相转移镜面");printf("\n");baodi++;}}//单抽保底else if(baodi==10 && function==1){rad =rand()%10000+1;if(2001<rad&&rad<4001){int i=0;while(chizi[0][i]!=0)printf("%c",chizi[0][i++]);printf("\n");baodi=1;}else if(4001<=rad&&rad<5001){int i=0;while(chizi[1][i]!=0)printf("%c",chizi[1][i++]);printf("\n");baodi=1;}else if(5001<=rad&&rad<6001){int i=0;while(chizi[2][i]!=0)printf("%c",chizi[2][i++]);printf("\n");baodi=1;}else if(6001<=rad&&rad<7001){int i=0;while(chizi[3][i]!=0)printf("%c",chizi[3][i++]);printf("\n");baodi=1;}else{printf("up外武器\n");baodi=1;}} //一发十连else if(function==2){for(int i=0; i<10; i++){if(baodi!=10){rad =rand()%10000+1;if(5000<rad&&rad<5071){int i=0;while(chizi[0][i]!=0)printf("%c",chizi[0][i++]);printf(" ");baodi=1;}else if(5098<=rad&&rad<5148){int i=0;while(chizi[1][i]!=0)printf("%c",chizi[1][i++]);printf(" ");baodi=1;}else if(5147<=rad&&rad<5197){int i=0;while(chizi[2][i]!=0)printf("%c",chizi[2][i++]);printf(" ");baodi=1;}else if(5196<=rad&&rad<5246){int i=0;while(chizi[3][i]!=0)printf("%c",chizi[3][i++]);printf(" ");baodi=1;}else{printf("镜面");printf(" ");baodi++;}}else if(baodi==10 ){rad =rand()%10000+1;if(2001<rad&&rad<4001){int i=0;while(chizi[0][i]!=0)printf("%c",chizi[0][i++]);printf(" ");baodi=1;}else if(4001<=rad&&rad<5001){int i=0;while(chizi[1][i]!=0)printf("%c",chizi[1][i++]);printf(" ");baodi=1;}else if(5001<=rad&&rad<6001){int i=0;while(chizi[2][i]!=0)printf("%c",chizi[2][i++]);printf(" ");baodi=1;}else if(6001<=rad&&rad<7001){int i=0;while(chizi[3][i]!=0)printf("%c",chizi[3][i++]);printf(" ");baodi=1;}else{printf("up外 ");baodi=1;}}}printf("\n");}//概率计算 先来1000发,查看各类出货情况else if(function==3){int weapon=0, shang=0, zhong=0, xia=0;for(int k=0; k<1000000; k++){if(baodi!=10){rad =rand()%10000+1;if(5000<rad&&rad<5071){weapon++;baodi=1;} else if(5098<=rad&&rad<5148){shang++;baodi=1;}else if(5147<=rad&&rad<5197){zhong++;baodi=1;}else if(5196<=rad&&rad<5246){xia++;baodi=1;} elsebaodi++;}else if(baodi==10 ){rad =rand()%10000+1;if(2001<rad&&rad<4001){weapon++;baodi=1;}else if(6001<=rad&&rad<7001){shang++;baodi=1;}else if(4001<=rad&&rad<5001){zhong++;baodi=1;}else if(5001<=rad&&rad<6001){xia++;baodi=1;}elsebaodi=1;}}printf("武器:%d\n上:%d\n中:%d\n下:%d\n",weapon,shang,zhong,xia);}//计算平均毕业期望else if(function==4){int cs=0;int ougou=9999;int qiuzhang =0,qw,qs,qz,qx;for(int k=0; k<10000; k++){int weapon=0, shang=0, zhong=0, xia=0;int cishu=1;baodi =1;while(1){if(baodi!=10){rad =rand()%10000+1;if(5000<rad&&rad<5071){weapon++;baodi=1;} else if(5098<=rad&&rad<5148){shang++;baodi=1;}else if(5147<=rad&&rad<5197){zhong++;baodi=1;}else if(5196<=rad&&rad<5246){xia++;baodi=1;} elsebaodi++;}else if(baodi==10 ){rad =rand()%10000+1;if(2001<rad&&rad<4001){weapon++;baodi=1;}else if(6001<=rad&&rad<7001){shang++;baodi=1;}else if(4001<=rad&&rad<5001){zhong++;baodi=1;}else if(5001<=rad&&rad<6001){xia++;baodi=1;}elsebaodi=1;}if(weapon>=1&&shang>=1&&zhong>=1&&xia>=1){if(cishu<ougou)ougou=cishu;if(cishu>qiuzhang){qiuzhang= cishu;qw = weapon;qs = shang;qz = zhong;qx = xia;} cs=cs+cishu;break;}else if(weapon>=1&&shang==0&&zhong>=1&&xia>=1&&(zhong+xia)>=4){if(cishu<ougou)ougou=cishu;if(cishu>qiuzhang){qiuzhang= cishu;qw = weapon;qs = shang;qz = zhong;qx = xia;} cs=cs+cishu;break;}else if(weapon>=1&&zhong==0&&shang>=1&&xia>=1&&(shang+xia)>=4){if(cishu<ougou)ougou=cishu;if(cishu>qiuzhang){qiuzhang= cishu;qw = weapon;qs = shang;qz = zhong;qx = xia;} cs=cs+cishu;break;}else if(weapon>=1&&xia==0&&zhong>=1&&shang>=1&&(zhong+shang)>=4){if(cishu<ougou)ougou=cishu;if(cishu>qiuzhang){qiuzhang= cishu;qw = weapon;qs = shang;qz = zhong;qx = xia;} cs=cs+cishu;break;}cishu++;}} printf("平均毕业次数:%d\n欧皇:%d\n非洲酋长:%d\n",cs/10000, ougou, qiuzhang);printf("酋长武器,上,中,下:%d,%d,%d,%d\n",qw,qs,qz,qx);}else if(function==5)break;} return 0;
}
崩坏3卡池模拟器及毕业期望概率计算(含保底)相关推荐
- 杂谈||Python实现计算含保底抽卡出金期望
吃饭(等异客)前几分钟看不进论文写着玩的,模型和代码都很简单,闲着的时候练练手.试了几个玩过的游戏,基本都是有保底机制的,对于FGO的保底机制不是很清楚,另外两个游戏是递增模型.至于计算模型就是很简单 ...
- fgo服务器维护抽卡,fgo抽卡机制讲解 fgo卡池概率分析
1.友情池 首先从这个不用担心要不要氪金,只有后悔没有留够友情的卡池说起.友情池能够出所有3星及以下包括常驻英灵,常驻礼装,狗粮,芙芙在内的卡片.之后只会添加镇楼的小安一张低星英灵和其他三星常驻英灵与 ...
- 原神服务器维护后抽奖池会更新吗,原神换up池会刷新保底吗
1 回答 原神新手池和up池共享保底吗? 首先在UP卡池的规则中,官方已经提及了保底共享机制:UP卡池的保底次数,和其他(常驻)卡池的保底次数[相互独立计算],互不影响:因此可以得出结论:常驻池和UP ...
- 原神服务器维护后抽奖池会更新吗,原神up池抽奖保底会在保留吗
1 回答 原神up池保底会保留到下次吗? 原神的保底机制是继承的,只能继承相同类型的卡池,不同类型的卡池继承互不干扰.常驻池只能继承[常驻池],UP池只能继承[UP池],新手卡池没有保底.比如,在温迪 ...
- 7-39 抽卡游戏 (30分) 本题的灵感来源于一个古典的概率模型。 AliceAliceAlice 在一个卡池里抽卡,里面有 xxx 张 sss 卡和 yyy 张 aaa 卡。 AliceAlice
7-39 抽卡游戏 (30分) 本题的灵感来源于一个古典的概率模型. AliceAliceAlice 在一个卡池里抽卡,里面有 xxx 张 sss 卡和 yyy 张 aaa 卡. AliceAlice ...
- 崩坏三精准池python模拟
最近一周学了python,正好崩坏三出来后崩坏鸭的精准池子,利用列表,字典,随机数匹配范围,简单模拟一下抽卡 本次UP武器: 重炮:蓝焰银隼0019 2.479% 双枪:空无之钥 0. ...
- 辐射避难所ol服务器维护,辐射避难所Online8月3日更新内容 育普雷斯顿up卡池
亲爱的监督者,您好! 感谢您对<辐射:避难所Online>的热情关注和支持!游戏将于8月3日14:00-16:00对所有服务器进行停服维护,根据实际情况停服时间及时长可能调整,届时监督者们 ...
- sim卡无线上网公用服务器,云SIM卡池,云SIM卡解决方案,流量分发随身WIFI方案( 忻瑞科技)...
忻瑞科技云SIM卡解决方案 众所周知高额的国际数据漫游费一直是出国旅游业的一大槽点,针对这一问题,忻瑞科技推出了全新的云SIM卡解决方案,让全球0漫游通信成为了一种可能.通过云SIM技术,忻瑞科技云端 ...
- 逍遥安卓模拟器卡android,逍遥安卓模拟器怎样设置不卡 逍遥模拟器不流畅处理办法...
软件安装:装机软件必备包 关于电脑装机必须的软件,比如windows office系列办公软件.网页浏览器.杀毒软件.安全防护软件.刻录软件.压缩软件.下载工具.多媒体播放软件.多媒体编辑软件.输入法 ...
最新文章
- Hadoop集群的基本操作(三:HBase的基本操作)
- 我的阿里梦——淘宝前端必备技能
- 写博客的好处,专家告诉你
- 中断下半部机制-softirq-Tasklet-工作队列
- CryptoJS DES加密示例
- 香蕉派开源硬件 Banana PI
- 限量放送,2018全球智能驾驶峰会「免费拿票攻略」接住了!
- 计算机配件详情图解,电脑装机教程,详细教您怎么组装电脑
- 使用QXDM Log 來分析LTE環境資訊
- Java 使用pio生成word
- ssh服务端配置了authorized_keys,免密登录失败
- flea-frame-cache使用之Redis接入【旧】
- Jupyter notebook中自定义支持天软TSl语言的魔术命令
- 灯饰展厅装修设计需要注意什么问题
- 【转】解决win10系统每次重启桌面图标排列混乱的问题!亲测有效!!
- 数据压缩作业:AVI格式文件分析
- 中国56民族 sql
- linux中fork函数及子进程父进程执行顺序
- android自定义头像上传,android裁切图片之用于头像上传
- 专栏结语:基于spring cloud的工具栈