ruby – 为什么我的递归函数总是使用相同的随机数?
我正在尝试写一些模拟鞅赌博系统的东西.如果你不熟悉这个,那就是“肯定的事!” (不是一个肯定的事情)投币系统用于掷硬币游戏,每次输掉时你都会加倍投注,希望在第一场胜利时赢回所有损失的金钱.
所以你的赌注将是10美元 – >损失 – > 20美元 – >损失 – > 40美元 – >损失 – > 80美元 – >赢得! – > $10 … 简单吧?我认为逻辑将是: >拥有一个起价为1,000美元的钱包变量. 我写这个: def flip(bet) if rand(0..1) == 0 then $balance += bet else $balance -= bet flip(bet*2) end end 然后我运行翻转(10)一千次,看看这个投注系统是多么有效. 问题是我总是得到完全相同的结果.我将运行该程序十次,前五个结果将始终是1010,1020,1030,1040,1050 …所以有些不对劲.但我真的看不出来;逻辑对我来说似乎很好. 只是为了测试一下,我删除了递归调用,行翻转(下注* 2).相反,我只是进行了一千次定期投注.这表现得像你期望的那样,每次都有不同的结果. 那么这里发生了什么? 解决方法
看看逻辑,看起来它会递归下注,直到你赢了.因此看起来你的平衡每次都会增加10,因此“1010,1050”.
如果您在翻转(下注* 2)线之前放置一个看跌期权余额,您可以看到余额上下波动. 我想这就是投注系统的重点.我不认为该方法的随机部分有任何问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |