java夺冠概率题 运行出结果与答案不一样 足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能. 假设有甲、乙、丙、丁四个球队.根据他们过去比赛的成绩,得出每个队与另一个队对
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/20 10:50:39
![java夺冠概率题 运行出结果与答案不一样 足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能. 假设有甲、乙、丙、丁四个球队.根据他们过去比赛的成绩,得出每个队与另一个队对](/uploads/image/z/3688152-24-2.jpg?t=java%E5%A4%BA%E5%86%A0%E6%A6%82%E7%8E%87%E9%A2%98+%E8%BF%90%E8%A1%8C%E5%87%BA%E7%BB%93%E6%9E%9C%E4%B8%8E%E7%AD%94%E6%A1%88%E4%B8%8D%E4%B8%80%E6%A0%B7++++%E8%B6%B3%E7%90%83%E6%AF%94%E8%B5%9B%E5%85%B7%E6%9C%89%E4%B8%80%E5%AE%9A%E7%A8%8B%E5%BA%A6%E7%9A%84%E5%81%B6%E7%84%B6%E6%80%A7%2C%E5%BC%B1%E9%98%9F%E4%B9%9F%E6%9C%89%E6%88%98%E8%83%9C%E5%BC%BA%E9%98%9F%E7%9A%84%E5%8F%AF%E8%83%BD.++++%E5%81%87%E8%AE%BE%E6%9C%89%E7%94%B2%E3%80%81%E4%B9%99%E3%80%81%E4%B8%99%E3%80%81%E4%B8%81%E5%9B%9B%E4%B8%AA%E7%90%83%E9%98%9F.%E6%A0%B9%E6%8D%AE%E4%BB%96%E4%BB%AC%E8%BF%87%E5%8E%BB%E6%AF%94%E8%B5%9B%E7%9A%84%E6%88%90%E7%BB%A9%2C%E5%BE%97%E5%87%BA%E6%AF%8F%E4%B8%AA%E9%98%9F%E4%B8%8E%E5%8F%A6%E4%B8%80%E4%B8%AA%E9%98%9F%E5%AF%B9)
java夺冠概率题 运行出结果与答案不一样 足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能. 假设有甲、乙、丙、丁四个球队.根据他们过去比赛的成绩,得出每个队与另一个队对
java夺冠概率题 运行出结果与答案不一样
足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能.
假设有甲、乙、丙、丁四个球队.根据他们过去比赛的成绩,得出每个队与另一个队对阵时取胜的概率表:
甲 乙 丙 丁
甲 - 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万次模拟,计算出甲队夺冠的概率.
注意:
请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
代码:
import java.util.*;
public class duoguan {
\x05public static void main(String[] args) {
double p =0.00;
\x05\x05for(int i=0;i<100000;i++){
\x05\x05\x05int a =(int) (Math.random()*2);
\x05\x05\x05int b =(int) (Math.random()*2);
\x05\x05\x05int c =(int) (Math.random()*2);
\x05\x05\x05int d =(int) (Math.random()*2);
\x05\x05\x05if(a+b+c+d!=2)
\x05\x05\x05\x05continue;
\x05\x05\x05if(a==b){
\x05\x05\x05\x05p+=0.1*(0.2*0.3+0.8*0.5);
\x05\x05\x05}
\x05\x05\x05if(a==c){
\x05\x05\x05\x05p+=0.3*(0.4*0.1+0.6*0.5);
\x05\x05\x05}
\x05\x05\x05if(a==d){
\x05\x05\x05\x05p+=0.5*(0.7*0.1+0.3*0.3);
\x05\x05\x05}\x05
\x05\x05
\x05\x05}
\x05\x05System.out.printf("%.4f",p/100000);
\x05}
}
输出结果为0.0286
075
java夺冠概率题 运行出结果与答案不一样 足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能. 假设有甲、乙、丙、丁四个球队.根据他们过去比赛的成绩,得出每个队与另一个队对
public static void main(String[] args) {
double p = 0.00;
int count = 0;
for (int i = 0; i < 100000; i++) {
int a = (int) (Math.random() * 2);
int b = (int) (Math.random() * 2);
int c = (int) (Math.random() * 2);
int d = (int) (Math.random() * 2);
if (a + b + c + d != 2){
continue;
}else{
count ++;
}
if (a == b) {
//决赛a b相遇 : a战胜c同时b战胜d a战胜d同时b战胜c
p += (0.3*0.4+0.5*0.7)*0.1;
}
if (a == c) {
//决赛a c相遇 : a战胜b同时c战胜d a战胜d同时c战胜b
p += (0.1*0.2+0.5*0.3)*0.3;
}
if (a == d) {
//决赛a d相遇 : a战胜b同时d战胜c a战胜c同时d战胜b
p += (0.1*0.8+0.3*0.6)*0.5;
}
}
System.out.printf("%.4f", p / count);
}