Project1

标题: 这道题怎么做 [打印本页]

作者: 欧买歌    时间: 2016-2-12 14:08
标题: 这道题怎么做
本帖最后由 欧买歌 于 2016-2-12 14:12 编辑

状元和VIP玩游戏,VIP有50元钱,状元有无限多的钱。
两个人掷骰子,当骰子点数为3,4,5,6时VIP胜,否则
状元胜。输的人要给赢的人10元钱。当VIP获得120元钱
或者输光时,游戏结束。问:游戏结束时VIP一毛钱都没有
的概率是多少?结果用小数表示,保留6位有效数字。

嗯,我的群里的人算了一个晚上和一个早上都没算出来

话说按照版规
若为悬赏贴,则按照悬赏数额版主免费赋予棕色高亮,如悬赏1V=1天。

@精灵使者 @三途亚梦 你们要对本帖进行棕色高亮6天
作者: Vortur    时间: 2016-2-12 14:08
本帖最后由 Vortur 于 2016-2-21 04:52 编辑

不知楼主是否要过程?在下不大清楚这道题怎么算,但有一个大体思路:
1.确定这是一个几面的骰子,是否每面的概率都相等。
2.列出题目需要情况的所有结果;如输输...若干输后赢...若干赢最后导致赢的概率
3.所有需要的概率相加,得出结果。

作者: 我是大仙    时间: 2016-2-12 14:15
本帖最后由 我是大仙 于 2016-2-12 14:42 编辑

三分之一的五次方。
稍等我去拿纸和笔...
看四楼..
作者: zaiy2863    时间: 2016-2-12 14:23
我从昨天晚上开始算,算不出来
作者: 我是大仙    时间: 2016-2-12 14:29
本帖最后由 我是大仙 于 2016-2-12 15:34 编辑
zaiy2863 发表于 2016-2-12 14:23
我从昨天晚上开始算,算不出来


谢谢楼上回帖,以至于我不连贴,
好像是7776分之64。(64/7776)
约成小数是楼主的事..
算到死路了一次,晚上再算吧...
作者: 落雪鸦杀    时间: 2016-2-12 15:31
本帖最后由 落雪鸦杀 于 2016-2-12 17:51 编辑

直接破解结果电脑死机……

@欧买歌 有的不需要,比如我的(破解版
作者: zaiy2863    时间: 2016-2-12 17:05
假设从50到0的概率为x0,那么从50到120的概率为x120=1-x。
第一步:
50到40:1
50到60:2

0的前一步 必然为10 那么x=x10:50到10的概率*三分之一 即 x10=3x0
10的前一步 必然为20 那么x=x20:50到20的概率*九分之一 即 x20=9x0
20的前一步 可以为10 (概率为三分之二)或30(概率为三分之一)即x10*2/3+x30*1/3=x20
那么
x0=x0
X10=3x0
X20=9x0
X30=21x0
X40=45x0      合计 79x0  x50=93x0

X120=x120       =64/64
X110=3/2x120    =96/64   
X100=9/4x120    =144/64
X90=25/8x120    =200/64
X80=57/16x120   =228/64
X70=121/32x120  =242/64
X60=249/64x120  =249/64      合计 1223/64约等于19.10 x120 x50=505/128x120
93x0=505/128x120  x0:x120= 505:11904  505/12409=0.0406962688……

然而答案0.0406963并不对
作者: 落雪鸦杀    时间: 2016-2-12 17:48
本帖最后由 落雪鸦杀 于 2016-2-12 18:01 编辑

我的思路:
状元只要连续输掉5次那么游戏就失败了。
那么就是说这种事情发生的概率是(1/3)^5.

然后假设状元赢了一次,输了6次。
那么这种事情会重复发生5次(第一次赢,第二次赢,第三次赢,第四次赢,第五次赢,没有第六次因为已经输了5次了),每一种发生的概率是2/3 * (1/3)^6.就是说五种发生的概率是5 * 2/3 * (1/3)^6.

然后假设状元赢2输7.
也是重复发生5次。
那么就是5 * (2/3)^2 * (1/3)^7.

那么将状元赢的次数设定为n.
除去n=0的情况,每种n为正整数的情况可以总结为5 * (2/3)^n * (1/3)^(5 + n).
当n=0时概率为(1/3)^5.
就是总概率是(1/3)^5 + [5 *(2/3)^1 * (1/3)^(5 + 1)+ 5 *(2/3)^2 * (1/3)^(5 + 2)+ 5 *(2/3)^3 * (1/3)^(5 + 3)+.......+ 5 *(2/3)^n * (1/3)^(5 + n)].
理论上来说,这个数字会无限趋近于一个数值(正解)。
如果只考虑6位有效数字的话那么就可以忽略误差不计。
似乎可以写一段脚本出来算一算……
然而算到的值……不太对(0.00587889

@冷峻逸 说n的值只能为1-7,我有些不解……

为何要求状元输掉啊QAQ我更希望亚梦输(棒读
应该没错的脚本

作者: Lucia    时间: 2016-2-12 18:01
VIP获得120的概率+vip0元的概率=100%
2个都算一下,看看加起来是不是1

作者: 长弓巡洋集团    时间: 2016-2-12 18:13
本帖最后由 长弓巡洋集团 于 2016-2-12 19:52 编辑

真心无聊,闲的蛋碎做的。(高数啥的年代过于久远都忘了)

假定骰子是灌了铅的或者做了手脚的,VIP输光的概率为100%。同样,如果闲家作弊,这个事件为不可能事件。如果是10面骰子或者畸形骰子,也不考虑在内。

如果排除一切不正常情况,且设事件相互独立。以六面骰子举例...
如果输光,则X-Y=5(X为输的次数,Y为赢的次数,且X-Y不得小于等于-7)

数据+1的概率为0.667
数据-1的概率为0.333
11111010

设比赛局数为Z局,提前X-Y=-7的情况应排除,所以:
P(Z=5)=0.333^5=0.004095
P(Z=7)=C15*0.333^6*0.667^1=0.004547(剔除掉前五局连输以及更高阶连输的情况,忘了这茬子事情了)
P(Z=9)=C27*0.333^7*0.667^2=0.004242
P(Z=11)=C39*0.333^8*0.667^3=0.003769
P(Z=13)=C411*0.333^9*0.667^4=0.003289
P(Z=15)=C513*0.333^10*0.667^5=0.002849
P(Z=17)=0.002461
P(Z=19)=C616*0.333^12*0.667^7=0.002027(从这里开始要排除连赢提前结算比赛的情况)
P(Z=21)=C617*0.333^13*0.667^8=0.000658
P(Z=23)=C628*0.333^14*0.667^9=0.000209
P(Z=25)=0.000065
P(Z=27)=0.000020
P(Z=29)=0.000006
P(Z=31)=0.000002
P(Z=33以上忽略不计)
C是无顺序排列组合

结果是:
∑(N=5,7,9... N∈Z*)P(N)=0.030119
作者: chd114    时间: 2016-2-12 18:43
VIP和状元干的事情你为啥不去问他们···
作者: zaiy2863    时间: 2016-2-12 18:53
本帖最后由 zaiy2863 于 2016-2-12 19:12 编辑

模拟器结果大概是0.031022x @RyanBern
不是计算,模拟的而已
作者: 凝望·流年    时间: 2016-2-12 19:19
lz既然知道对错,难道还不知道是多少?
那么这题有什么意义呢
作者: fux2    时间: 2016-2-12 19:30
状元钱又无限了。
作者: Mr.Jin    时间: 2016-2-12 20:25
  1. def play
  2.   vip = 50
  3.   loop do
  4.     vip += [3,4,5,6].include?(rand(6) + 1) ? 10 : -10
  5.     return true if vip >= 120
  6.     return false if vip <= 0
  7.   end
  8. end
  9. def test(precision)
  10.   win = 0
  11.   lose = 0
  12.   for i in 0..precision
  13.     if play
  14.       win += 1
  15.     else
  16.       lose += 1
  17.     end
  18.   end
  19.   return lose / (win + lose).to_f
  20. end

  21. p test(16384)
复制代码
一次一次挨个试,取个平均值凑合一下吧
作者: yang1zhi    时间: 2016-2-12 20:27
这要看这个骰子是几面的
作者: 有丘直方    时间: 2016-2-12 21:00
哦,明天中午我试试吧!
我们数学老师说假期里面找点课外的题目拓展做做。
我12岁,指教。
作者: Password    时间: 2016-2-12 21:52
然而我只会这样
  1. vip = 50
  2. all = 0.0
  3. lose = 0
  4. loop do
  5.   i = rand(6)+1
  6.   if i > 2
  7.     vip += 10
  8.   else
  9.     vip -= 10
  10.   end
  11.   if vip == 120
  12.     all += 1
  13.     vip = 50
  14.   elsif vip == 0
  15.     all += 1
  16.     lose += 1
  17.     vip = 50
  18.   end
  19.   if all == 100000
  20.     break
  21.   end
  22. end
  23. j = lose/all
  24. p j
  25. exit
复制代码

作者: 有丘直方    时间: 2016-2-13 08:57
标题: 使用脚本模拟真实情况来计算
本帖最后由 有丘直方 于 2016-2-13 10:38 编辑
  1. #===========================================
  2. # ■ VIP和状元
  3. #-------------------------------------------
  4. #  一道很难的题目,没错我是奔着悬赏来的。
  5. #===========================================

  6. #===========================
  7. # ● 原题
  8. #===========================
  9. =begin
  10. 状元和VIP玩游戏,VIP有50元钱,状元有无限多的钱。
  11. 两个人掷骰子,当骰子点数为3、4、5或6时VIP胜,否则状元胜。
  12. 输的人要给赢的人10元钱。
  13. 当VIP获得120元钱或者输光时,游戏结束。
  14. 问:游戏结束时VIP输的概率是多少?
  15. 结果用小数表示,保留6位有效数字。
  16. =end
  17. # 本计算过程为模拟计算,取得近似概率
  18. #============================
  19. # ● 计算过程
  20. #============================
  21. count = 1000 # 计算总次数
  22. loop do # 开始计算
  23.   vip = 50 # VIP的初始钱数
  24.   lose = 0 # VIP输的次数
  25.   a = 0.0 # 玩游戏的总次数
  26.   while (vip == 0 or vip == 120) # 在游戏不结束的情况下不断玩游戏
  27.     n = rand(6) + 1 # 扔骰子
  28.     if n > 2 # VIP获胜
  29.       vip += 10 # 为VIP加钱
  30.     else # 状元获胜
  31.       vip -= 10 # 为VIP减钱
  32.     end # 分歧结束
  33.   end # 游戏结束
  34.   lose += 1 if vip == 0 # 如果状元获胜增加VIP输的次数
  35.   a += 1 # 增加玩游戏的总次数
  36.   break if a == count # 玩游戏次数达到计算次数后结束
  37. end # 计算结束
  38. #===========================
  39. # ● 显示结果
  40. #===========================
  41. p lose / a # 显示模拟得到的结果
  42. exit # 结束程序
复制代码
哦,这个代码是XP,VX,VA通用的,你设置一下计算次数,这个变量越大计算结果就越精确。然后把脚本放在最前面,进入游戏等待计算完毕,然后就会出现一个小数,那就是计算结果。
我还没有测试过,这是刚刚用手机弄的,没用电脑试过。总之这个能给一个近似的答案。
作者: 冷峻逸    时间: 2016-2-13 09:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 我是大仙    时间: 2016-2-13 13:27
没想到一晚上了还没有人做出来。
我在纸上列了个表。
把50元看成5元,赢一次赚1元(缩小十倍)
发现分支到后面的层要么是单数 11 9 7 5 3 1
要么是双数 12 10 8 6 4 2 0
而这两个数字分支有一定规律。
当是12 或者 0的时候
分支到头。
现在我已近算出18000多个“11”
计算量太大,看来得靠易语言,把最后分支的0除以总分支数就可以了。
也不知道思路对不对,先去下载易语言...
作者: lrq20000421    时间: 2016-2-13 13:49
0.070313
... ...我也就随口一说,滚键盘滚出来的数字
作者: acn00269    时间: 2016-2-13 15:35
∵VIP有50元钱,输的人要给赢的人10元钱,游戏结束时VIP一毛钱都没有
∴有以下N种情况
···我先去找草稿纸···
①0胜5败      P(1)=C5,0六分之四的零次方×C5,5六分之二的五次方=0.00411523
②1胜6败      P(2)=C7,1六分之四的一次方×C7,6六分之二的六次方=0.0448102
③2胜7败      P(3)=C9,2六分之四的二次方×C9,7六分之二的七次方=0.263374
④3胜8败      P(4)=C11,3六分之四的三次方×C11,8六分之二的八次方=1.22948>1
故④及其之后的答案都要舍去,算到这里我们发现VIP根本不可能获得120元钱,他最多才获得20元钱
∴游戏结束时VIP一毛钱都没有的逻辑方向正确
∴由数学归纳法推理可知
∴P(N)=C(2n+3),(n-1)六分之四的(n-1)次方×C(2n+3),(n+4)六分之二的(n+4)次方(1≤n≤3)(推演公式)
∴P(总)=P(1)+P(2)+P(3)=0.312299
高数的排列组合思想演算了一下,不保证对
作者: RyanBern    时间: 2016-2-13 21:31
本帖最后由 RyanBern 于 2016-2-16 09:49 编辑

请各位感兴趣的看官下载答案,顺便了解OMG为啥会受到这样的待遇: sol.pdf (78.41 KB, 下载次数: 60)

另外楼主的6V想给谁就给谁吧,感觉大家算的都很拼的。
另外说一句,想通过随机模拟来搞答案的,由于随机模拟的收敛速度是1/√n,因此要得到六位有效数字至少需要算1万亿次,如果次数不到那么精度就低了。


另:如果楼主2月16日9:00AM不确认成绩的话,本次考场成绩作废。
作者: lrq20000421    时间: 2016-2-13 21:51
卧槽(;´Д`)
什么仇什么怨
作者: 欧买歌    时间: 2016-2-13 23:23
RyanBern 发表于 2016-2-13 21:31
请各位感兴趣的看官下载答案,顺便了解OMG为啥会受到这样的待遇:

另外楼主的6V想给谁就给谁吧,感觉大家 ...






欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1