某游戏规则中,甲乙双方每个回合的战斗总是有一方胜利,一方失败。游戏规定:失败的一方要把自己的体力值的1/4加给胜利的一方。例如:如果双方体力值当前都是4,则经过一轮战斗后,双方的体力值会变为:5,3。
现在已知:双方开始时的体力值甲:1000,乙:2000。
假设战斗中,甲乙获胜的概率都是50%
求解:双方经过4个回合的战斗,体力值之差小于1000的理论概率。
public class Test {
public static void main(String[] args) {
int count=0;
double a,b;
for(int i=0;i<100000;i++)
{
a=1000;b=2000;
for(int j=0;j<4;j++)
{
int temp=(int)(Math.random()*2);
if(temp==0)
{
a+=b/4;
b*=3/4;
}
else if(temp==1)
{
b+=a/4;
a*=3/4;
}
}
if(Math.abs(a-b)<1000)
count++;
}
System.out.println(count/100000.0);
}
}