3666 - 取球概率
时间限制 : 1 秒
内存限制 : 128 MB
口袋中有5只红球,4只白球。
随机从口袋中取出3个球。
则取出1个红球2个白球的概率是多大?
请编程进行100000次取球模拟。
题目输入
题目输出
四舍五入保留到整数部分。假如10万次中,有9万次满足要求,应该输出: 90%
输入/输出样例
输入格式
输出格式
C++解答
#include <iostream> #include <ctime> #include <iomanip> #include <cstdlib> using namespace std; int main() { srand(time(0)); int i,j,cnt=0; for(i=0;i<100000;i++) { int a[]={1,1,1,1,1,0,0,0,0};//1为红,0为白 int red=0,white=0; for(j=0;j<3;j++)//取3次 { int idx=rand()%(9-j); if(a[idx]) red++; else white++; a[idx]=a[8-j]; } if(red==1&&white==2) cnt++; } cout<<fixed<<setprecision(0)<<cnt/100000.0*100<<'%'; return 0; }