社区
其它技术问题
帖子详情
请教关于组合的一道题
GeKaede
2005-05-27 10:23:18
有800个红球,200个白球.从其中取出100个.
输出红球及白球的个数.
请大家给个思路.
...全文
146
12
打赏
收藏
请教关于组合的一道题
有800个红球,200个白球.从其中取出100个. 输出红球及白球的个数. 请大家给个思路.
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Denice
2005-05-27
打赏
举报
回复
貌似没有把当成两种情况吧!!!
我是计算从这1000个球中取出100个的情况
在每次取得这100个时、你一次取出所有的100个或者你一个一个的取最后取出100个他们应该是一样的道理、、、看看下面的修改(改的不是很正规、)、、
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
int getball(double probability); //按照一定的几率取得一个球
void go();
int main()
{
srand(time(0));
cout <<"每次取得的情况" << endl;
cout << "red white" << endl;
for(int i = 0; i < 100; i++)
{
go();
}
system("pause");
return 1;
}
int getball(double probability)
{
int temp = rand() % 100;
if (temp <= 100 * probability)
{
return 1; //表示取得传入几率的球
}
else
{
return -1; // 表示没有取得传入几率的球
}
}
void go()
{
int red = 800; //红球的个数
int white = 200; //白球的个数
int red_count = 0; //纪录取得的球个数
int whi_count = 0;
int temp = 0;
double red_proba = (double)red / ((double)red + (double)white); //第一次取得红球的几率
for (int i = 0; i < 100; i++)
{
temp = getball(red_proba); //按几率取得一个球
if(temp == 1) //取得红球
{
red_count++;
red--;
red_proba = (double)red / ((double)red + (double)white); //重新计算机率
}
else
{
whi_count++;
white--;
red_proba = (double)red / ((double)red + (double)white);
}
}
cout << red_count << " " << whi_count << endl;
}
GeKaede
2005-05-27
打赏
举报
回复
To Denice:
你给出的方法是一个一个的取球,我不确信这种方法得出的概率分布结果对不对.
如果是取出100个球排成一排,你的显然是对的.
例如我从3个球中取出2个,先取第一个球再取第二个球,与先取第二个球与再取第一个球,其实只是一个组合. 而现在却把它当成了两种情况.
Denice
2005-05-27
打赏
举报
回复
重复一下取的次数不就可以了吗??
又不说清楚一点、、、还以为只取一次、、、、
GeKaede
2005-05-27
打赏
举报
回复
球没有编号
只要输出每次结果就行了,不需要进行统计分析.
当然,概率分布要符合实际情况,当抽取的次数足够多时,红白球总和的比例应该接近800:200
Denice
2005-05-27
打赏
举报
回复
mark
Denice
2005-05-27
打赏
举报
回复
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
int getball(double probability); //按照一定的几率取得一个球
int main()
{
int red = 800; //红球的个数
int white = 200; //白球的个数
int red_count = 0; //纪录取得的球个数
int whi_count = 0;
int temp = 0;
double red_proba = (double)red / ((double)red + (double)white); //第一次取得红球的几率
srand(time(0));
for (int i = 0; i < 100; i++)
{
temp = getball(red_proba); //按几率取得一个球
if(temp == 1) //取得红球
{
red_count++;
red--;
red_proba = (double)red / ((double)red + (double)white); //重新计算机率
}
else
{
whi_count++;
white--;
red_proba = (double)red / ((double)red + (double)white);
}
}
cout << "there are " << red_count << "red balls、and " << whi_count << "white balls in the 100 ball" << endl;
system("pause");
return 1;
}
int getball(double probability)
{
int temp = rand() % 100;
if (temp <= 100 * probability)
{
return 1; //表示取得传入几率的球
}
else
{
return -1; // 表示没有取得传入几率的球
}
}
useresu
2005-05-27
打赏
举报
回复
模拟随机抽取?
晕了,
给出个分布?
mark
useresu
2005-05-27
打赏
举报
回复
恩,球没有编号吧?
GeKaede
2005-05-27
打赏
举报
回复
我是意思是要写个程序,模拟随机抽取过程.
比如,让程序打印出5000次每次抽取的结果.即每次红球多少个,白球多少个.
foochow
2005-05-27
打赏
举报
回复
答案应该就是一楼的,后面改成白99红0
shine51151
2005-05-27
打赏
举报
回复
楼上的大哥 你不会计数吗? 是101种吧
dhfly
2005-05-27
打赏
举报
回复
不太明白题意,随即抽的话结果应该有100种吧:
白:0 红100
白1红99
白2红98
白3红97
……
白100红0
从
一道
题
学习SoapClient与CRLF
组合
拳
这里写自定义目录标
题
前言http走私攻击本
题
需要重点关注的析构函数SoapCLient+CRLF代码审计参考文章 前言 如果在代码审计中有反序列化点,但在代码中找不到pop链,可以利用php内置类来进行反序列化 http走私攻击 关于http走私攻击和实战大家可以参考下这篇文章:https://xz.aliyun.com/t/6654#toc-3 本
题
需要重点关注的析构函数 __call 在对象中调用一个不可访问方法时调用 在这道
题
中$vip->getFlag();因为调用了类中没有的方法所以会导致_
一道
组合
排列
题
%52 正好有一双 书本后答案 0.4268 计算机模拟结果 0.42682*(factorial(8) * 2^6/(2)) * nchoosek(10,1)*nchoosek(9,6)/(20*19*18*17*16*15*14*13) %书上的差一倍 nchoosek(10,1)*18*16*14*12*10*8/(nchoosek(20,8) * factorial(6))...
## 【第8
题
】这是
一道
排列
组合
题
这是
一道
OI圈中【不开long long见祖宗】
题
;这是
一道
让我非常喜悦的
题
,我可以虐他了;这是
一道
提交了3次才过的【普及-】
题
;这是
一道
最近10分钟就可以AC的
题
;这是
一道
最近不会在做如此简单的
题
。这是
一道
看
题
就有思路的
题
;这是
一道
经典的排列
组合
题
;
题
目原文请移步下面的链接。
一道
组合
优化
题
切分开的子图的连线: [(3, 5, -1), (2, 4, -1), (7, 8, -1), (5, 11, 1)]right类: [[0, 2], [5, 6], [8], [11, 12]]left类: [[1, 3], [4, 7], [9],[11, 12] ]right类: [[0, 2], [5, 6], [8], [10]]left类: [[1, 3], [4, 7], [9], [10]]
选项
组合
:最多只有
一道
题
的答案相同
16名学生参加数学竞赛,每
题
4个选项。要求任意两名学生最多一
题
答案相同,求最大可能的
题
数k。通过将“答案相同”量化为“两人对”,利用柯西不等式证明单
题
至少产生24个“两人对”,而全局限制C_{16}^2=120。因此24k≤120,得k≤5。构造5
题
实例验证可行性:前4名学生固定首
题
选项,后12名通过拉丁方排列确保唯一交集。最终结论:最多5道
题
。解
题
核心在于
组合
量化、不等式放缩与构造验证。
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章