目录

  • 崩坏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卡池模拟器及毕业期望概率计算(含保底)相关推荐

  1. 杂谈||Python实现计算含保底抽卡出金期望

    吃饭(等异客)前几分钟看不进论文写着玩的,模型和代码都很简单,闲着的时候练练手.试了几个玩过的游戏,基本都是有保底机制的,对于FGO的保底机制不是很清楚,另外两个游戏是递增模型.至于计算模型就是很简单 ...

  2. fgo服务器维护抽卡,fgo抽卡机制讲解 fgo卡池概率分析

    1.友情池 首先从这个不用担心要不要氪金,只有后悔没有留够友情的卡池说起.友情池能够出所有3星及以下包括常驻英灵,常驻礼装,狗粮,芙芙在内的卡片.之后只会添加镇楼的小安一张低星英灵和其他三星常驻英灵与 ...

  3. 原神服务器维护后抽奖池会更新吗,原神换up池会刷新保底吗

    1 回答 原神新手池和up池共享保底吗? 首先在UP卡池的规则中,官方已经提及了保底共享机制:UP卡池的保底次数,和其他(常驻)卡池的保底次数[相互独立计算],互不影响:因此可以得出结论:常驻池和UP ...

  4. 原神服务器维护后抽奖池会更新吗,原神up池抽奖保底会在保留吗

    1 回答 原神up池保底会保留到下次吗? 原神的保底机制是继承的,只能继承相同类型的卡池,不同类型的卡池继承互不干扰.常驻池只能继承[常驻池],UP池只能继承[UP池],新手卡池没有保底.比如,在温迪 ...

  5. 7-39 抽卡游戏 (30分) 本题的灵感来源于一个古典的概率模型。 AliceAliceAlice 在一个卡池里抽卡,里面有 xxx 张 sss 卡和 yyy 张 aaa 卡。 AliceAlice

    7-39 抽卡游戏 (30分) 本题的灵感来源于一个古典的概率模型. AliceAliceAlice 在一个卡池里抽卡,里面有 xxx 张 sss 卡和 yyy 张 aaa 卡. AliceAlice ...

  6. 崩坏三精准池python模拟

    最近一周学了python,正好崩坏三出来后崩坏鸭的精准池子,利用列表,字典,随机数匹配范围,简单模拟一下抽卡 本次UP武器: 重炮:蓝焰银隼0019   2.479% 双枪:空无之钥       0. ...

  7. 辐射避难所ol服务器维护,辐射避难所Online8月3日更新内容 育普雷斯顿up卡池

    亲爱的监督者,您好! 感谢您对<辐射:避难所Online>的热情关注和支持!游戏将于8月3日14:00-16:00对所有服务器进行停服维护,根据实际情况停服时间及时长可能调整,届时监督者们 ...

  8. sim卡无线上网公用服务器,云SIM卡池,云SIM卡解决方案,流量分发随身WIFI方案( 忻瑞科技)...

    忻瑞科技云SIM卡解决方案 众所周知高额的国际数据漫游费一直是出国旅游业的一大槽点,针对这一问题,忻瑞科技推出了全新的云SIM卡解决方案,让全球0漫游通信成为了一种可能.通过云SIM技术,忻瑞科技云端 ...

  9. 逍遥安卓模拟器卡android,逍遥安卓模拟器怎样设置不卡 逍遥模拟器不流畅处理办法...

    软件安装:装机软件必备包 关于电脑装机必须的软件,比如windows office系列办公软件.网页浏览器.杀毒软件.安全防护软件.刻录软件.压缩软件.下载工具.多媒体播放软件.多媒体编辑软件.输入法 ...

最新文章

  1. Hadoop集群的基本操作(三:HBase的基本操作)
  2. 我的阿里梦——淘宝前端必备技能
  3. 写博客的好处,专家告诉你
  4. 中断下半部机制-softirq-Tasklet-工作队列
  5. CryptoJS DES加密示例
  6. 香蕉派开源硬件 Banana PI
  7. 限量放送,2018全球智能驾驶峰会「免费拿票攻略」接住了!
  8. 计算机配件详情图解,电脑装机教程,详细教您怎么组装电脑
  9. 使用QXDM Log 來分析LTE環境資訊
  10. Java 使用pio生成word
  11. ssh服务端配置了authorized_keys,免密登录失败
  12. flea-frame-cache使用之Redis接入【旧】
  13. Jupyter notebook中自定义支持天软TSl语言的魔术命令
  14. 灯饰展厅装修设计需要注意什么问题
  15. 【转】解决win10系统每次重启桌面图标排列混乱的问题!亲测有效!!
  16. 数据压缩作业:AVI格式文件分析
  17. 中国56民族 sql
  18. linux中fork函数及子进程父进程执行顺序
  19. android自定义头像上传,android裁切图片之用于头像上传
  20. 专栏结语:基于spring cloud的工具栈

热门文章

  1. Foxmail 7.2数据迁移,导入旧数据
  2. Node后台邮件服务器
  3. 利用Go制作微信机器人(一)发送消息
  4. 猫哥教你写爬虫 000--开篇
  5. AIOps 在腾讯的探索和实践
  6. EVE-NG 使用xshell
  7. python中的标准输入设备_从MIDI设备获取输入(Python)
  8. excel怎么设置打印区域_用offset函数设置打印区域(有新增内容时自动扩展)
  9. 第19章 Linux电源管理的系统架构和驱动之CPUFreq驱动
  10. jude(java建模软件)_JUDE电脑版下载|