<>背景

原神是由米哈游开发的一款二次元游戏,其中抽卡是其核心玩法之一。关于原神的抽卡概率与保底机制,网上已经有大量的详细解析了。那么到底从长期来看,每次抽到五星角色时,该五星角色恰好为当期UP的概率为多少呢?

<>大小保底机制详解

原神的大小保底机制如下。若之前从未抽到过五星角色,则抽到的五星角色有50%的概率为当期UP五星角色,50%的概率为非当期UP五星角色。若上次抽到了非当期UP五星角色,则本次抽到五星角色时必为当期UP五星角色,这种情况我们称之为大保底。若上次抽到了当期UP五星角色,则本次抽到五星角色时按之前从未抽到过五星角色对待。

<>代码及运行结果

C语言代码如下。
#include <stdio.h> #include <stdlib.h> #include<time.h> int main() { int i
=0,j=0,up=0,down=0; int tmp=0;//0表示第一次抽或上次触发了大保底,1表示上次触发了小保底 srand(time(NULL));
for(i=0;i<10000;i++){//抽一万次 j = rand() % 2; if(tmp==0){
if(j==0)up++;//j=0表示抽中了当期UP角色触发了大保底 else if(j==1){down++;tmp=1;} //j=1 歪了 else
printf("warning!") ; } else if (tmp==1) { up++; tmp=0; } else
printf("warning!") ; }
printf("运行一万次,共抽中当期UP%d次,概率为%.2f,非当期UP%d次,概率为%.2f\n",up,up/10000.0,down,down/10000.0);
return 0; }
python代码如下
import random i,j,up,down=0,0,0,0; tmp=0;#0表示第一次抽或上次触发了大保底,1表示上次触发了小保底 for i
in range(10000): #抽一万次 j = random.randint(0,1) if(tmp==0): if(j==0): up+=1
#j=0表示抽中了当期UP角色触发了大保底 elif(j==1): down+=1 tmp=1; #j=1 歪了 else:
printf("warning!") ; elif (tmp==1): up+=1; tmp=0; else: printf("warning!") ;
print("运行一万次,共抽中当期UP%d次,概率为%.2f,非当期UP%d次,概率为%.2f\n"%(up,up/10000.0,down,down/10000.0));
结果如下:
C:运行一万次,共抽中当期UP6672次,概率为0.67,非当期UP3328次,概率为0.33
python:运行一万次,共抽中当期UP6673次,概率为0.67,非当期UP3327次,概率为0.33

<>结论

仅从每次来看,歪的概率是0.5,但是有了大小保底机制,歪的概率降低到了0.33,这是在是非常人性化的设计,氪金吧!

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信