注册 | 登录

游侠NETSHOW论坛





游侠NETSHOW论坛 游侠NETSHOW论坛 游侠PC游戏综合讨论区 简单的写个C++程序验证三门问题。(强人们出现!45楼更简 ...
查看: 14967|回复: 125
打印 上一主题 下一主题

[讨论] 简单的写个C++程序验证三门问题。(强人们出现!45楼更简洁、61、68楼Lua,71楼C#.net!) [复制链接]

帖子
396
精华
0
积分
198
金钱
1938
荣誉
0
人气
1
评议
0
跳转到指定楼层
楼主
发表于 2011-8-8 10:16:15 |只看该作者 |倒序浏览
本帖最后由 Mr.zhao[flying] 于 2011-8-9 12:30 编辑

前言:
你们都是大神级别的人物,我这种小鱼小虾如何能比。

只是看到前两天大家都在讨论这个问题,想通过自己的方式来验证答案。

没想到遭来了一群你们这样的人。

好吧,我再把那句话重复一遍,不喜勿进,喷子请滚出这个帖子。你牛逼,我惹不起,但是你别在我这一亩三分地里撒野装逼,谢谢。









代码不高端,力求简洁易懂。请各位多多指正。结果很明显换门中奖的概率应为2/3。

#include <stdio.h>
#include <iostream>
#include <time.h>
#include <windows.h>
using namespace std;
int main()
{
cout << "现在是100000次换门的情况:" << endl;
int a,b,c,temp1,temp2,zj=0,bzj=0,i;
    srand(GetTickCount());
for(i=1;i<100001;i++)
{
temp1=rand()%3+1;
switch(temp1)
{
case 1:{a=1;b=0;c=0;break;}
case 2:{a=0;b=1;c=0;break;}
case 3:{a=0;b=0;c=1;break;}
}
temp2=rand()%3+1;
switch(temp2)
{
case 1:{
  switch(temp1)
  {
  case 1:{bzj++;break;}
  case 2:{zj++;break;}
  case 3:{zj++;break;}
  }
  break;
     }
case 2:{
  switch(temp1)
  {
  case 1:{zj++;break;}
  case 2:{bzj++;break;}
  case 3:{zj++;break;}
  }
  break;
     }
case 3:{
  switch(temp1)
  {
  case 1:{zj++;break;}
  case 2:{zj++;break;}
  case 3:{bzj++;break;}
  }
  break;
     }
}
}
cout << "中奖次数为:" << zj << endl;
cout << "不中奖次数为:" << bzj << endl;
return 0;
}

用a,b,c模拟三个门内的奖品,用temp1模拟哪个门内存在奖品,用temp2模拟人的选择。


附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

☆The King Of Anfield☆
游侠元老版主
游侠实况工作组【荣誉】
游侠足球经理工作组【美工】

利物浦 一线队教练 56/80
★★★★★★

元老版主勋章版主勋章资深版主勋章大头像勋章白金会员勋章活跃勋章荣誉勋章实况工作组资深组员勋章实况工作组组员勋章

帖子
13306
精华
3
积分
9499
金钱
455
荣誉
210
人气
1452
评议
4
沙发
发表于 2011-8-8 10:19:34 |只看该作者
[害怕]我out了,两三天没上来就蹦出一个三门...什么情况

使用道具 举报

☆The King Of Anfield☆
游侠元老版主
游侠实况工作组【荣誉】
游侠足球经理工作组【美工】

利物浦 一线队教练 56/80
★★★★★★

元老版主勋章版主勋章资深版主勋章大头像勋章白金会员勋章活跃勋章荣誉勋章实况工作组资深组员勋章实况工作组组员勋章

帖子
13306
精华
3
积分
9499
金钱
455
荣誉
210
人气
1452
评议
4
板凳
发表于 2011-8-8 10:20:41 |只看该作者
本帖最后由 kingzhou 于 2011-8-8 10:26 编辑

[害怕]连击了。。编辑掉。。

使用道具 举报

帖子
396
精华
0
积分
198
金钱
1938
荣誉
0
人气
1
评议
0
地板
发表于 2011-8-8 10:23:27 |只看该作者
前两天综合区有人激烈讨论……

使用道具 举报

帖子
1424
精华
0
积分
713
金钱
5124
荣誉
0
人气
3
评议
0
5#
发表于 2011-8-8 10:30:19 |只看该作者
你怎么搞不清楚状况,现在人家争论的是。
temp1=rand()%3+1;
到底开了个门后是,1/3还是1/2.。。

使用道具 举报

帖子
396
精华
0
积分
198
金钱
1938
荣誉
0
人气
1
评议
0
6#
发表于 2011-8-8 10:33:32 |只看该作者
本帖最后由 Mr.zhao[flying] 于 2011-8-8 10:34 编辑

回复 choong1990 的帖子

难道是我对题目理解还不够么?

主持人事先知道奖品在哪个门后,玩家随机挑选三个门之一后主持人总能打开一个没有奖品的门,这还有争议么?

使用道具 举报

地狱 愤怒

帖子
14187
精华
0
积分
7128
金钱
26138
荣誉
2
人气
147
评议
0

7#
发表于 2011-8-8 10:35:29 |只看该作者
汗...........难道全世界就只有我一个看不懂??????????

CPU:AMD Ryzen 7 5700X3D
主板:技嘉B550M PRO 雕
内存:海盗船复仇者 8GBx4 (DDR4 3600MHz )
硬盘:爱国者P7000D 2T+P7000E 4T
显卡:AMD Radeon RX 7900XTX 24G 蓝宝石超白金
电源:长城巨龙 1250W
机箱:酷冷至尊 智瞳MB600L
显示器:KTC G42P5 OLED 138Hz 42寸

使用道具 举报

帖子
1692
精华
0
积分
846
金钱
3416
荣誉
0
人气
4
评议
0
8#
发表于 2011-8-8 10:55:53 |只看该作者
a676766767 发表于 2011-8-8 10:35
汗...........难道全世界就只有我一个看不懂??????????

呵呵, 你这两天没来逛吧, 讨论的可激烈了
CPU: P4 1.6G                                       CPU: Core 2 Duo T7100 1.8G
Memory: DDR266 256M × 2                Memory: DDR 2G
G Card: FX5700                          ->       G Card: FX8600M
Motherboard: Intel845                          xxx
HDisk : ST 40G                                    HDisk: 120G

使用道具 举报

帖子
396
精华
0
积分
199
金钱
2539
荣誉
0
人气
1
评议
0
9#
发表于 2011-8-8 11:01:34 |只看该作者
本帖最后由 lattit 于 2011-8-8 11:01 编辑

首先,C里面的随机数不是真正的随机数,而是伪随机数。
其次,为什么会有中奖是没中奖的两倍呢。
看你的程序:
case 1:{bzj++;break;}
  case 2:{zj++;break;}
  case 3:{zj++;break;}
里面明确的表示了,ZJ能加两次,而BZJ只加一次。。。
你这是什么算法啊。。。

使用道具 举报

S.W.A.T☆久经沙场の巨蟒9毫米
猎兵系 海克力斯之眼 

活跃勋章大头像勋章白金会员勋章

帖子
17025
精华
1
积分
9325
金钱
30969
荣誉
59
人气
225
评议
0

10#
发表于 2011-8-8 11:03:25 |只看该作者
我是这两天上来论坛都是错误帖子显示,又不能回帖,现在好了![害怕]

使用道具 举报

圣魔王 撒旦

大头像勋章白金会员勋章活跃勋章人气勋章·初级

帖子
76647
精华
6
积分
41251
金钱
56083
荣誉
139
人气
3376
评议
11
11#
发表于 2011-8-8 11:05:07 |只看该作者
好无聊 为什么大家都在讨论这个 和游戏有什么关系吗

使用道具 举报

帖子
396
精华
0
积分
198
金钱
1938
荣誉
0
人气
1
评议
0
12#
发表于 2011-8-8 11:06:14 |只看该作者
回复 lattit 的帖子

....你真的研究过这个题目吗。

我打个比方 1、2门内没有奖品,3门内有奖品。

玩家选择1门,主持人开2门,此时换门中奖。
玩家选择2门,主持人开1门,此时换门中奖。
玩家选择3门,主持人任意开一门,此时换门不中奖。

使用道具 举报

帖子
396
精华
0
积分
198
金钱
1938
荣誉
0
人气
1
评议
0
13#
发表于 2011-8-8 11:09:00 |只看该作者
回复 lattit 的帖子

至于随机数这个问题,是我程序本身所限,您说的非常正确。
在下次改进的时候我想用WindowsAPI来产生所谓完美的随机数。

使用道具 举报

帖子
5461
精华
0
积分
2733
金钱
9518
荣誉
0
人气
29
评议
0
14#
发表于 2011-8-8 11:17:40 |只看该作者
Mr.zhao[flying] 发表于 2011-8-8 11:09
回复 lattit 的帖子

至于随机数这个问题,是我程序本身所限,您说的非常正确。

这个时候,真伪随机数已经不影响结果了


把以前买的几十本国产正版游戏全半价出了,顿时感觉心旷神怡。

使用道具 举报

帖子
3767
精华
0
积分
1894
金钱
10694
荣誉
0
人气
102
评议
0
15#
发表于 2011-8-8 11:17:44 |只看该作者
本帖最后由 playbus 于 2011-8-8 11:19 编辑
Mr.zhao[flying] 发表于 2011-8-8 11:06
回复 lattit 的帖子

....你真的研究过这个题目吗。

为什么你把玩家开3门,主持人开**作为一种情况?

主持人开1门和2门,此时换门都是不中奖的……

结果换与不换不还是一半对一半吗?
尼玛烂铁通……

使用道具 举报

帖子
399
精华
0
积分
200
金钱
2097
荣誉
0
人气
4
评议
0
16#
发表于 2011-8-8 11:20:19 |只看该作者
还在研究这个
真的认为哲学拯救世界么

使用道具 举报

帖子
853
精华
0
积分
460
金钱
2801
荣誉
3
人气
14
评议
0
17#
发表于 2011-8-8 11:21:44 |只看该作者
这种S B问题能火起来的原因就是游侠这帮脑残总希望有一个途径能自己说服自己不是一个脑残。事实上这是一个非常脑残的途径,造就了一种极端脑残甚至恶心的潮流。[害怕]

使用道具 举报

帖子
396
精华
0
积分
198
金钱
1938
荣誉
0
人气
1
评议
0
18#
发表于 2011-8-8 11:22:07 |只看该作者
回复 playbus 的帖子

因为随机数temp2视为玩家的选择,而非主持人的选择。
当玩家一开始选择3门并准备换门时,无论主持人开哪个门都已决定了玩家无法获奖。

使用道具 举报

帖子
396
精华
0
积分
198
金钱
1938
荣誉
0
人气
1
评议
0
19#
发表于 2011-8-8 11:23:15 |只看该作者
回复 402280828 的帖子

你的签名出卖了你。

不知道何种心理造就了你这种目空一切的态度。

我们只是在用自己的方式来探究未知事物的真相。

以上。

使用道具 举报

帖子
771
精华
0
积分
393
金钱
3347
荣誉
0
人气
35
评议
0
20#
发表于 2011-8-8 11:32:17 |只看该作者
Mr.zhao[flying] 发表于 2011-8-8 11:06
回复 lattit 的帖子

....你真的研究过这个题目吗。

你把这个注释到代码里面去就不用费这么多时间来给人解释你的思路了。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-10-8 18:32 , Processed in 0.360805 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到