无脑打游戏了
作者:互联网
某游戏规则中,甲乙双方每个回合的战斗总是有一方胜利,一方失败。游戏规定:失败的一方要把自己的体力值的1/4加给胜利的一方。例如:如果双方体力值当前都是4,则经过一轮战斗后,双方的体力值会变为:5,3。
现在已知:双方开始时的体力值甲:1000,乙:2000。
假设战斗中,甲乙获胜的概率都是50%
求解:双方经过4个回合的战斗,体力值之差小于1000的理论概率。
public static void main(String[] args) {
double a = 1000.0;
double b = 2000.0;
int n=0;
int N=10000;
Random random=new Random();
for (int i = 0; i <N ; i++) {
for (int k = 1; k <= 4; k++) {
if (random.nextDouble() > 0.5) {
double temp=0;
temp=b*0.25;
a=a+temp;
b=b-temp;
}
if (random.nextDouble() < 0.5) {
double temp=0;
temp=a*0.25;
b=b+temp;
a=a-temp;
}
}
if(Math.abs(a-b)<1000){
n++;
}
}
System.out.println(1.0*n/N);
}
标签:temp,int,double,打游戏,无脑,体力值,一方,战斗 来源: https://blog.csdn.net/m0_61749866/article/details/121652970