足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能。

假设有甲、乙、丙、丁四个球队。根据他们过去比赛的成绩,得出每个队与另一个队对阵时取胜的概率表:

甲 乙 丙 丁

甲 - 0.1 0.3 0.5

乙 0.9 - 0.7 0.4

丙 0.7 0.3 - 0.2

丁 0.5 0.6 0.8 -

数据含义:甲对乙的取胜概率为0.1,丙对乙的胜率为0.3,…

现在要举行一次锦标赛。双方抽签,分两个组比,获胜的两个队再争夺冠军。(参见【1.jpg】)

请你进行10万次模拟,计算出甲队夺冠的概率。

注意:

请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!

public class Main {

    public static void main(String[] args) {
double[][] value = {{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}};
double[] result = new double[100000];
double sum = 0;
for(int i = 0;i < 100000;i++) {
int a = (int) (Math.random() * 3) + 1; //甲的对手
if(a == 1)
result[i] = value[0][1] * value[2][3] * value[0][2] +
value[0][1] * value[3][2] * value[0][3];
else if(a == 2)
result[i] = value[0][2] * value[1][3] * value[0][1] +
value[0][2] * value[3][1] * value[0][3];
else
result[i] = value[0][3] * value[1][2] * value[0][1] +
value[0][3] * value[2][1] * value[0][2];
sum = sum + result[i];
}
sum = sum / 100000;
System.out.printf("%.3f", sum);
}
}

运行结果:

0.076

最新文章

  1. JavaScript将字符串中的每一个单词的第一个字母变为大写其余均为小写
  2. linux进程
  3. 【asp.net】Linux 部署 asp.net core 项目
  4. 配置ngnix
  5. PHP的版本选择 (转)
  6. SpringMVC使用@PathVariable,@RequestBody,@ResponseBody,@RequestParam,@InitBinder
  7. Dive into python 实例学python (1) —— 函数和测试
  8. Jsp实现form的file和text传递(multipart/form-data)
  9. 常用的js效验
  10. 斜率优化(CDQ分治,Splay平衡树):BZOJ 1492: [NOI2007]货币兑换Cash
  11. 编程器NAND Flash 技术入门
  12. db2安装要设置tcp、ip
  13. PAT (Advanced Level) 1069. The Black Hole of Numbers (20)
  14. vue指令v-else示例解析
  15. Spring Date Jpa on update current_timestamp 自动维护创建时间和更新时间
  16. python 3---if判断成绩练习
  17. 支付宝pc网页支付
  18. S0.0 计算机如何看东西
  19. Angular 个人深究(四)【生命周期钩子】
  20. C# 启动外部程序的几种常用方法汇总

热门文章

  1. (电脑连不上热点)电脑连上了WIFI,但是显示网络不可用怎么办?
  2. linux centos7 和 windows下 部署 .net core 2.0 web应用
  3. 6、保持会话(save)
  4. post请求导出表单。
  5. 简单mysql存储过程
  6. java 获取请求ip,服务本地ip
  7. .Net Core3.0 WebApi 项目框架搭建 一:实现简单的Resful Api
  8. 【Socket编程】【第一节】【Socket基本原理和套接字】
  9. 3.6 Go String型
  10. CukeTest+Puppeteer的Web自动化测试(一)