当前位置:网站首页>赛尔号抽奖模拟求期望
赛尔号抽奖模拟求期望
2022-06-28 11:21:00 【熊三明】
九张牌,一开始都是反面,每次随机抽取三张更改牌面正反,下一次抽取在此次基础之上,直到所有牌面均为正时停止。求抽取次数的期望。并计算在两百次以内抽取完毕的概率。
通过二进制位有三个1的随机数迭代异或,实现连续翻牌的效果。因为二进制中1的位数为3的情况一共只有84种,因此可以先利用一个三层循环将其存储于s[84]中,可以排序验证一下。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int s[84]={0};
int cmp(const void *a,const void *b){
return *(int*)a-*(int*)b;}
int produce_random(void){
int n=rand()&511;
return n;
}
int randni(void){
int n=rand()%84;
return n;}
int expbi(const int n){
int m=1<<n;
return m;}
int main(int argc, char** argv){
int i=0,j,k,l;
int a,b,c;
int v=1000000;
for(j=0;j<7;j++){
for(k=j+1;k<8;k++){
for(l=k+1;l<9;l++){
s[i++]=expbi(j)+expbi(k)+expbi(l);
}
}
}
float sum=0.0;
//qsort(s,84,sizeof(int),cmp);
srand((unsigned int)time(NULL));
for(i=0;i<v;i++){
a=0;
for(k=0;k<100000;k++){
b=randni();
b=s[b];
a=a^b;
if(a==511)break;
}
// printf("%d\n",k);
sum+=k;
// if(k<200)
//sum+=1;
}
sum/=v;
printf("%f",sum);
/* for(i=0;i<84;i++)
printf("%d\n",s[i]);*/
return 0;
}
循环一百万次计算期望均值的结果

大概是517次左右
下面是200次就成功的概率

边栏推荐
- 字符串 & 堆 & 方法区
- GDB简介
- 【无标题】虚拟机vmnet0找不到且报错:没有未桥接的主机网络适配器
- MySql5.7添加新用户
- Gee: mcd64a1 based globfire daily fire data set
- 使用API快捷创建ECS
- How to distinguish and define DQL, DML, DDL and DCL in SQL
- 无法重新声明块范围变量
- Making and using of dynamic library (shared library)
- [practice] 1364- implement a perfect waterfall flow component on the mobile terminal (with source code)
猜你喜欢
随机推荐
day29 js笔记 2021.09.23
QML控件类型:TabBar
day37 js笔记 运动函数 2021.10.11
Lihongyi, machine learning 7 Conclusion
拼接String集合中的字符串_基于Stream
JS foundation 3
MySQL installation configuration and solving the problem of forgetting root password when reinstalling MySQL
js中的数组方法 2021.09.18
Jetpack Compose Desktop 桌面版本的打包和发布应用
day33 js笔记 事件(下)2021.09.28
day25 js中的预解析、递归函数、事件 2021.09.16
JS foundation 5
如临现场的视觉感染力,NBA决赛直播还能这样看?
远程登录sshd服务
100 important knowledge points that SQL must master: retrieving data
[semidrive source code analysis] [x9 chip startup process] 32 - play module analysis - RTOS side
Zero foundation self-study SQL course | if function
使用logrotate对宝塔的网站日志进行自动切割
Day39 prototype chain and page Fireworks Effect 2021.10.13
ProCAST有限元铸造工艺模拟软件









