C语言根据概率随机抽奖,【图片】红蓝球概率问题,通过程序模拟抽取,计算结果已出,有兴趣来看【非现役文职吧】_百度贴吧...-程序员宅基地

技术标签: C语言根据概率随机抽奖  

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我用的c语言,大一学的还没忘完。。。。程序非常简单,就是生成随机数,然后根据随机数的结果进行计数就好了。

代码贴下面,有兴趣的可以看看。

懂行的请不要喷我写的烂。。。。。毕竟不是专业码农。

#include

#include

#include

int main()

{

srand((unsigned)time(NULL));

int count1=0,count2=0,count3=0,count4=0,count5=0,count0=0;

int redfirst=0,redremain=0,blueremain=0;

int i=1;

float p;

for (i=1;i<600000;i++)//随机试验600000次

{

int ball=rand()%6;//生成随机数,从0到5,依次代表6个球。12为a箱红球,34为b箱篮球,50为c箱红蓝

if (ball==1)//第一个是a箱红球1

{

count1=count1+1;

redfirst=redfirst+1;//先抽到红计数

redremain=redremain+1;//剩余为红球计数

}

if(ball==2)//第一个是a箱红球2

{

count2=count2+1;

redfirst=redfirst+1;//先抽到红计数

redremain=redremain+1;//剩余为红球计数

}

if (ball==3)//第一个是b箱篮球1,不计数

{

count3=count3+1;

}

if(ball==4)//第一个是b箱篮球2,不计数

{

count4=count4+1;

}

if (ball==5)//第一个是c箱红球

{

count5=count5+1;

redfirst=redfirst+1;//先抽到红计数

blueremain=blueremain+1;//剩余为蓝球计数

}

if(ball==0)//第一个是c箱篮球,不计数

{

count0=count0+1;

}

}

p=(float)redremain/(redremain+blueremain);

printf("实验共完成抽取%d次\n",i);

printf("每个球被抽取次数如下\n");

printf("a箱: 红1次数=%d 红2次数=%d\nb箱: 蓝1次数=%d 蓝2次数=%d\nc箱: 红3次数=%d 蓝3次数=%d\n\n",count1,count2,count3,count4,count5,count0);

printf("累计抽到红球次数=%d\n其中\n箱中剩余一球为红色的次数=%d\n剩余一球为蓝色的次数=%d\n\n",redfirst,redremain,blueremain);

printf("随机摸出一球是红球,则盒子里另一个球是红球的概率\np=%d/(%d+%d)=%d/%d=%f\n",redremain,redremain,blueremain,redremain,redfirst,p);

return (0);

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35969257/article/details/117143819

智能推荐

SVN更新失败_svn更新没反应-程序员宅基地

文章浏览阅读1.9w次,点赞6次,收藏16次。一、svn更新失败使用svn遇到的问题是,更新失败,代码被锁定。解决办法:在项目上右键,如图所示:图一:图二:之后再更新,基本上都没有问题了。如果还有问题,看下面。二、工具清理如果上面清理不成功,那么可能是项目中.svn文件夹中的wc.db文件中有乱码解决方式:第一步:https://www.sqlite.org/download.html下载文件:第二步:第三步:在.svn目录下打开DOS 命令..._svn更新没反应

委托和事件_委托金额:8265.14-程序员宅基地

文章浏览阅读591次。委托和事件 — 一个虚构的故事 本文摘自人民邮电出版社出版的《Windows Forms程序设计》(Chris Sells著,荣耀、蒋贤哲译)。通过一个栩栩如生的虚构故事解释了C#/.NET中委托和事件的机制和应用。 1 委托 _委托金额:8265.14

Android 接入Google 登录 错误码:10问题_not success : google handlesigninresult error with-程序员宅基地

文章浏览阅读5.9k次。接入google登录一直出现以下错误:从网上查基本都是说sha1不对,但是对过N遍都没有问题,最后发现是firebase控制台的Web 客户端ID和代码设置的不一致,文档中让设置的链接是在Cloud Google Platform但是这里设置的和firebase控制台创建的应用里面自动生成的Web客户端ID不一样,我猜测把生成的填写到这里也可以使用我就不测试了..._not success : google handlesigninresult error with :10

[Postman]格式化JSON功能_postman格式化json-程序员宅基地

文章浏览阅读1.1w次。升级到如下版本_postman格式化json

安装anaconda后输入conda、python等命令找不到_anaconda3安装无法初始化找不到python-程序员宅基地

文章浏览阅读3.7k次。这是因为没有把anaconda的环境配置好配置anaconda环境:vim ~/.bashrc(不会用vim的推荐直接用gedit,即gedit~/.bashrc简单便捷)在最后一行添加:export PATH=/home/XXX/anaconda3/bin:$PATHXXX是你的用户名最后保存: source ~/.bashrc再输入anaconda就显示版本信息了,python也变成了anaconda中版本..._anaconda3安装无法初始化找不到python

[python][科学计算][matplotlib]使用指南-程序员宅基地

文章浏览阅读409次。最后一次更新日期: 2019/4/20Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。按需导入以下模块:import matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dimport numpy as np点击下方链接可前往..._plot_surface 精度

随便推点

java面试-什么是GC root_byte [] no gc root-程序员宅基地

文章浏览阅读1.1k次。哪些对象可以作为 GC Roots 的对象:虚拟机栈中局部变量(也叫局部变量表)中引用的对象 方法区中类的静态变量、常量引用的对象 本地方法栈中 JNI (Native方法)引用的对象public class GCRootDemo { private byte[] byteArray = new byte[100 * 1024 * 1024]; private s..._byte [] no gc root

小松的STM32教程(11)—— 输入捕获_stm32输入捕获 xor-程序员宅基地

文章浏览阅读323次。输入捕获_stm32输入捕获 xor

linux 下如何配置 pptp 客户端-程序员宅基地

文章浏览阅读2.8k次。一、安装1. 安装 pptp、ppp 和 pptp-setupyum install -y pptp pptp-setup ppp二、配置1. 配置 pptp 登录信息并登录(1)配置后会在 /etc/ppp/peers 生成 一个 名字为 vpn_name 的文件pptpsetup --create vpn_name --server vpn_host --username username --password passwd --encrypt --startvpn_..

SpringBoot学习(二)_springboot addresourcehandlers-程序员宅基地

文章浏览阅读1.6k次。第三章 SpringBoot的Web开发一 解决静态资源在SpringBoot的项目结构中并没又webapp文件夹,由此静态资源放在哪个文件夹就是个问题,只能从源码分析,搜索WebMvcAutoConfiguration类,找到方法addResourceHandlers()方法:public class WebMvcAutoConfiguration{public void addResourceHandlers(ResourceHandlerRegistry registry) {//该if判断_springboot addresourcehandlers

Keras跑完程序释放显存的办法_keras释放显存-程序员宅基地

文章浏览阅读4.3k次。代码环境 : tf1.14.0+ keras2.2.5用Keras跑了MNIST代码之后,又跑其他程序总是容易显存不够用。从网上找到下面的方法,亲测可用。方法1 先安装numba库:pip install numba2 使用如下代码即可from numba import cudacuda.select_device(0)cuda.close()3注意下面的方法不好使。亲测不好使from keras import backend as KK.clear_session()原因_keras释放显存

mac系统如何在当前目录下打开终端_mac怎么在特定目录下执行命令-程序员宅基地

文章浏览阅读5.3k次。给大家推荐一个好用的终端工具Go2Shell:https://itunes.apple.com/cn/app/go2shell/id445770608?mt=12在没有这个工具之前 找了好多在当前目录下打开 终端命令 都不好用 无意间发现了这个Go2Shell 非常好用,下载安装好拖放到工具栏,然后需要在哪个目录打开 直接点工具栏上面Go2Shell图标就可以在当前目录打开..._mac怎么在特定目录下执行命令