古代赌局
来源:互联网 发布:c 界面编程书籍 编辑:程序博客网 时间:2024/06/08 04:40
古代赌局
【编程题】(满分23分)
俗话说:十赌九输。因为大多数赌局的背后都藏有阴谋。不过也不尽然,有些赌局背后藏有的是:“阳谋”。
有一种赌局是这样的:桌子上放六个匣子,编号是1至6。多位参与者(以下称玩家)可以把任意数量的钱押在某个编号的匣子上。
所有玩家都下注后,庄家同时掷出3个骰子(骰子上的数字都是1至6)。输赢规则如下:
1. 若某一个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目赔付(即1比1的赔率)。
2. 若有两个骰子上的数字与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目的2倍赔付(即1比2的赔率)。
3. 若三个骰子上的数字都与玩家所押注的匣子号相同,则玩家拿回自己的押注,庄家按他押注的数目的6倍赔付(即1比6的赔率)。
4. 若玩家所押注匣子号与某个骰子示数乘积等于另外两个骰子示数的乘积,则玩家拿回自己的押注,庄家也不赔付(流局)。
5. 若以上规则有同时满足者,玩家可以选择对自己最有利的规则。规则执行后,则庄家收获所有匣子上剩余的押注。
乍一看起来,好像规则对玩家有利,庄家吃亏。但经过大量实战,会发现局面很难说,于是怀疑是否庄家做了手脚,
庄家则十分爽快地说:可以由玩家提供骰子,甚至也可以由玩家来投掷骰子。
你的任务是:通过编程模拟该过程。模拟50万次,假定只有1个玩家,他每次的押注都是1元钱,其押注的匣子号是随机的。
再假定庄家有足够的资金用于赔付。最后计算出庄家的盈率(庄家盈利金额/押注总金额)。
【输入、输出格式要求】
程序无输入,程序运行输出庄家的盈率,四舍五入保留到小数后3位。
【注意】
请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。
相关的工程文件不要拷入。
请不要使用package语句。
源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。
package marslin;public class 古代赌局14 {public static void main(String[] args) {System.out .print(d());}public static float d() {int failure = 0;int yazhusum = 0;int sum=500000;while (yazhusum < 500000) {int shaizi1=0, shaizi2=0, shaizi3=0;int xiazi=0;int f1=0,f2=0,f3=0,f4=0; shaizi1 = (int) (Math.random() * 6)+1; shaizi2 = (int) (Math.random() * 6)+1; shaizi3 = (int) (Math.random() * 6)+1; xiazi= (int) (Math.random() * 6)+1;if (shaizi1 == shaizi2 && shaizi2 == shaizi3 && shaizi1 == xiazi) {yazhusum++;sum-=6;f1=1;}if ((f1==0)&&((shaizi1 == shaizi2 && shaizi2 == xiazi)|| (shaizi1 == shaizi3 && shaizi3 == xiazi)|| (shaizi3 == shaizi2 && shaizi3 == xiazi))) {yazhusum++;sum -= 2;f2=1;}if ((f1==0&&f2==0)&&((xiazi == shaizi1) || (xiazi == shaizi2 )||( xiazi == shaizi3))) {yazhusum++;sum-=1;f3=1;}if ((f1==0&&f2==0&&f3==0)&&((shaizi1 * xiazi == shaizi2 * shaizi3)|| (shaizi2 * xiazi == shaizi1 * shaizi3)|| (shaizi3 * xiazi == shaizi2 * shaizi1))) {yazhusum++;f4=1;}if(f1==0&&f2==0&&f3==0&&f4==0){sum+=1;yazhusum++;}}return (float)(sum-500000)/yazhusum;}}
- 古代赌局
- 古代赌局
- 古代赌局
- 古代赌局
- 古代赌局-蓝桥杯
- 蓝桥杯之古代赌局
- 蓝桥杯 古代赌局
- 关于随机数---古代赌局
- 古代赌局java随机模拟
- 古代赌局 俗话说:十赌九输。(转载)
- 古代赌局——蓝桥杯2012年Java决赛
- 蓝桥杯决赛真题——古代赌局
- 赌局
- 赌局
- 2013-11-01 实验之古代赌局玩家押注(概率公平原理)
- 古代赌局 俗话说:十赌九输。因为大多数赌局的背后都藏有阴谋。不过也不尽然,有些赌局背后藏有的是:“阳谋”。 有一种赌局是这样的:桌子上放六个匣子,编号是1至6。多位参与者(以下称玩家)可以把
- 霍金赌局
- 世界上最大的赌局?!!
- cocos2d-x 3.x 血条
- MVC 控制器向View传值的三种方法
- 开源控件(比如slidingmenu)中引用Android Design Support Library,没有引入相应的依赖库引发的问题
- 自己实现遍历文件层次结构程序
- Mac 下 svn 服务器的配置
- 古代赌局
- opengl 中 位图的操作
- linux 系统上的 交叉编译 opencv 目标 ARM
- Android中获取当前进程名称
- Gulp入门
- 【第4周 项目2 - 建设“单链表”算法库】
- RaspberryPi 更新国内源
- 【练习题】 使用程序建立一个多级的目录,在每个目录下,新建一个和目录名字一样的txt文件,并写入1990
- rsync安装