java夺冠概率题 运行出结果与答案不一样
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/16 23:28:32
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
足球比赛具有一定程度的偶然性,弱队也有战胜强队的可能.
假设有甲、乙、丙、丁四个球队.根据他们过去比赛的成绩,得出每个队与另一个队对阵时取胜的概率表:
甲 乙 丙 丁
甲 - 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
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);
}
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);
}
java夺冠概率题 运行出结果与答案不一样
计算机二级c语言机试填空题,我填的空有一个与答案不一样但是运行结果正确
这道题的计算结果与答案不一样,
计算机二级c语言机试填空题,我填的空有一个与参考答案不一样但是运行结果正确
请教一道概率题 自己做的答案与标准的不一样啊
公正硬币与不公正硬币在抛硬币时产生各种结果的概率不一样吗?
求解几道平面向量题我有的做的与答案不一样 看你们的结果
H型钢的理论重量表与计算公式算出的结果为什么不一样
C语言程序运行结果选择题:这道题知道怎么算出答案,算了很久都对不上一个答案?
我的结果和答案不一样!
一个LINGO的程序结果运行不出,
为啥各种安全阀计算公式算出结果不一样啊