拥VB解题:共20张牌,二人轮流取,谁最后取完谁胜,但每次只能取1~2张牌.

来源:百度知道 编辑:UC知道 时间:2024/06/08 05:57:35
一些思路:要想拿到20,务必拿到17,要想拿到17,务必拿到14``````依此类推,先拿到2者,只要以后拿3的倍数即可赢.
即只要先取2,就一定会赢!
大家最好写成完整的可执行程序发给我。我的电子邮箱是fengcheng494857298@163.com。
对于这个题目,编程的话,就应该是给出:有20张牌
一次只能够取1~2张,谁先拿到第20张牌,程序就判谁赢
至于到底一次取多少张牌,不能够人为的去想,而是应该让计算机
把所有的可能状态都考虑到,然后对结果进行判断,看谁输谁赢。
兄弟们帮帮忙,我会尽量多给积分的!!

二人取的话,最后取完者胜,那么
当前剩余数量 Mod 3
如果这个值为0,并且对方知道规则,那么,你怎么取也胜不了,所以就随机取,于是计算方式为:
If 当前剩余数量 Mod 3=0 Then 取出数=Int(Rnd*2) Else 取出数=当前剩余数量 Mod 3

如果是最后取的为败,则用 当前剩余数量-1来代替上式中的 当前剩余数量