你的任务是:通过编程模拟该过程。模拟50万次,假定只有1个玩家,他每次的押注都是1元钱,其押注的匣子号是随机的。
再假定庄家有足够的资金用于赔付。最后计算出庄家的盈率(庄家盈利金额/押注总金额)。 【输入、输出格式要求】
程序无输入,程序运行输出庄家的盈率,四舍五入保留到小数后3位。 【注意】
请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。 相关的工程文件不要拷入。
import java.util.*; public class Main{ public static void main(String[] args){ //sum代表庄家的盈利金额 int a,b,c,d,sum=0; for(int i=0;i<500000;i++){ //a代表玩家,b、c、d代表庄家 a=(int)(Math.random()*6)+1; b=(int)(Math.random()*6)+1; c=(int)(Math.random()*6)+1; d=(int)(Math.random()*6)+1; if(a==b&&a==c&&a==d){ sum-=6; } else if((a==b&&a==c)||(a==b&&a==d)&&(a==c&&a==d)){ sum-=2; } else if(a==b||a==c||a==d){ sum-=1; } else if(a*b==c*d||a*c==b*d||a*d==b*c){ sum-=0; } else{ sum+=1; } } System.out.printf("%.3f", sum/500000f); } }