1 条题解

  • 0
    @ 2021-6-15 13:05:39

    C++ :

    #include <iostream>
    #include <ctime>
    #include <cstdlib>
    using namespace std;
    int main()
    {
    	int football[3] = {1,3,5};//保存甲对乙  丙  丁的取胜概率
    	int semi,final;//分别保存半决赛与决赛甲的对手
    	int cnt=0;
    	srand(time(0));   //随机数发生器初始化
    	for (int i = 0; i < 100000; i++)
    	{
    		semi=rand()%3;//因为半决赛对阵状况只有3种可能,所以取0~2之间的随机数表示
    		if (rand()%10 >= football[semi]) continue;//半决赛甲输	
    		else
    			switch (semi)
    			{
    				case 0://半决赛甲乙一组,丙丁一组
    					if (rand()%10 >= 2) final = 2;//丁赢
    					else final = 1;//丙赢
    					break;
    				case 1://半决赛甲丙一组,乙丁一组
    					if (rand()%10 >= 4) final = 2;//丁赢
    					else final = 0;//乙赢
    					break;
    				default://半决赛甲丁一组,乙丙一组
    					if (rand()%10 >= 7) final = 1;//丙赢
    					else final = 0;//乙赢
    					break;
    			}//switch结束
    		if (rand()%10 < football[final]) cnt++;//决赛
    	}//10万次循环结束
    	cout<<int(cnt/1000.0)<<'%';
    	return 0;
    }
    
    • 1

    信息

    ID
    853
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者