// getChampion.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<time.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double p[4][4]={{0,0.1,0.3,0.5},
{0.9,0,0.7,0.4},
{0.7,0.3,0,0.2},
{0.5,0.6,0.8,0}};
int a1;//a的对手
double p1=0.1*0.2*0.3+0.1*0.8*0.5; //甲乙为对手时,甲获奖的概率
double p2=0.3*0.4*0.1+0.3*0.6*0.5; //甲丙为对手时,甲获奖的概率
double p3=0.5*0.7*0.1+0.5*0.3*0.3; //甲丁未对手时,甲获奖的概率
double sum=0;
srand(time(NULL));
for(int i=0;i<10000;i++)
{
a1=rand()%3+1;
switch(a1)
{
case 1:
sum+=p1;
break;
case 2:
sum+=p2;
break;
case 3:
sum+=p3;
break;
default:
break;
}
}
sum=sum/10000;
cout<<sum;
return 0;
}
//
#include "stdafx.h"
#include<time.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double p[4][4]={{0,0.1,0.3,0.5},
{0.9,0,0.7,0.4},
{0.7,0.3,0,0.2},
{0.5,0.6,0.8,0}};
int a1;//a的对手
double p1=0.1*0.2*0.3+0.1*0.8*0.5; //甲乙为对手时,甲获奖的概率
double p2=0.3*0.4*0.1+0.3*0.6*0.5; //甲丙为对手时,甲获奖的概率
double p3=0.5*0.7*0.1+0.5*0.3*0.3; //甲丁未对手时,甲获奖的概率
double sum=0;
srand(time(NULL));
for(int i=0;i<10000;i++)
{
a1=rand()%3+1;
switch(a1)
{
case 1:
sum+=p1;
break;
case 2:
sum+=p2;
break;
case 3:
sum+=p3;
break;
default:
break;
}
}
sum=sum/10000;
cout<<sum;
return 0;
}