- 主题:请问这道取火柴题怎么解?
甲拿3根是怎么算的呢。先江2022分成2000+22,2000可以被8和4整除,所以,乙开始拿、甲拿作为一个循环,甲凑4,8就行。最后剩22根,甲第一次可能拿1、3、4、7根,也就是可能会剩下21、19、18、15,因为最后一轮甲拿完一定要给乙剩1根或者3根,1、4、7凑8;3凑6或者10,感觉19最合适,先试算了19
【 在 wasabi 的大作中提到: 】
: 前几天版上有人发过的试卷中的一道题,还没有版友给出解答,恳请大家指点,题目如下:
: 有2022根火柴,甲乙两人轮流取,每次只能取1、3、4、7根,谁取最后一根谁输,甲先取。他要想保证获胜,第一次应该取几根?(写出所有可能)
: --
:
发自「今日水木 on iPhone 13 Pro Max」
--
FROM 223.104.41.*
虽然结果对了,但这个推算过程是错的。甲取3根后剩2019,然后乙取3根,剩2016,这时如果甲为凑4、8,选择取1根,则剩余2015,乙取4,剩余2011,甲必败。
【 在 tengshiwei 的大作中提到: 】
: 甲拿3根是怎么算的呢。先江2022分成2000+22,2000可以被8和4整除,所以,乙开始拿、甲拿作为一个循环,甲凑4,8就行。最后剩22根,甲第一次可能拿1、3、4、7根,也就是可能会剩下21、19、18、15,因为最后一轮甲拿完一定要给乙剩1根或者3根,1、4、7凑8;3凑6或者10,感觉19最合适,先试算了19
: ...................
--
FROM 120.229.69.*
甲取3根剩下2019,乙取3根,甲取7根,剩2009,(1)乙取1根,甲取7根,剩2001,按照凑4或者凑8,最后剩1根给乙。(2)乙取3,甲取3,剩2003,还是凑4或者凑8,最后剩3根。(3)乙取4,甲取4,剩余2001,凑4或者凑8,最后剩1根给乙。(7)乙取7,甲取1根,剩2001,凑4或者凑8,最后剩1根。就是把2000和19根分别对待。把19根放在前面算还是放在后面算。2000那个部分是乙拿、甲拿算一个循环。先把2000消耗掉。或者先算19的部分,剩2001或者剩下2003。
【 在 laofu 的大作中提到: 】
:
: 虽然结果对了,但这个推算过程是错的。甲取3根后剩2019,然后乙取3根,剩2016,这时如果甲为凑4、8,选择取1根,则剩余2015,乙取4,剩余2011,甲必败。
: --
: 绕树三匝,无枝可依
:
:
发自「今日水木 on iPhone 13 Pro Max」
--
FROM 223.104.41.*
甲不能凑4;甲乙循环不能保证恰好消耗2000。
剩2001,乙取3,甲不能为了凑4取1,只能取3。
【 在 tengshiwei 的大作中提到: 】
: 甲取3根剩下2019,乙取3根,甲取7根,剩2009,(1)乙取1根,甲取7根,剩2001,按照凑4或者凑8,最后剩1根给乙。(2)乙取3,甲取3,剩2003,还是凑4或者凑8,最后剩3根。(3)乙取4,甲取4,剩余2001,凑4或者凑8,最后剩1根给乙。(7)乙取7,甲取1根,剩2001,凑4或者凑8,最后剩1根。就是把2000和19根分别对待。把19根放在前面算还是放在后面算。2000那个部分是乙拿、甲拿算一个循环。先把2000消耗掉。或者先算19的部分,剩2001或者剩下2003。
: 发自「今日水木 on iPhone 13 Pro Max」
: ...................
--
FROM 120.229.69.*
感觉你这个做法有道理,但是还不算太严谨。2000是可以被8和4整除,但是可以再多算一点,2016也可以被8和4整除,所以应该是让2016根去作为 乙先,甲后的循环根数,这样就剩下6根。 因为最后要给乙留下1根或3根才能确保甲获胜,又由于甲只能拿1,3,4,7这四种根数,所以甲第一次就只能拿3根,使得最后可以剩下3根留给乙。
【 在 tengshiwei 的大作中提到: 】
: 甲拿3根是怎么算的呢。先江2022分成2000+22,2000可以被8和4整除,所以,乙开始拿、甲拿作为一个循环,甲凑4,8就行。最后剩22根,甲第一次可能拿1、3、4、7根,也就是可能会剩下21、19、18、15,因为最后一轮甲拿完一定要给乙剩1根或者3根,1、4、7凑8;3凑6或者10,感觉19最合适,先试算了19
: 发自「今日水木 on iPhone 13 Pro Max」
--
FROM 27.152.72.*
你还是没搞明白啊,甲不能凑4,凑4会留给乙必胜局面。
甲没有办法控制取走8的倍数,他只能保证4的倍数。乙取3,甲如果取1,后面乙每次取4,甲跟着取4,则取走的数量是 8k+4 这样的。你想保证合计取走2000或者2016这样,是办不到的。
【 在 wasabi 的大作中提到: 】
: 感觉你这个做法有道理,但是还不算太严谨。2000是可以被8和4整除,但是可以再多算一点,2016也可以被8和4整除,所以应该是让2016根去作为 乙先,甲后的循环根数,这样就剩下6根。 因为最后要给乙留下1根或3根才能确保甲获胜,又由于甲只能拿1,3,4,7这四种根数,所以甲第一次就只能拿3根,使得最后可以剩下3根留给乙。
:
: 【 在 tengshiwei 的大作中提到: 】
: : 甲拿3根是怎么算的呢。先江2022分成2000+22,2000可以被8和4整除,所以,乙开始拿、甲拿作为一个循环,甲凑4,8就行。最后剩22根,甲第一次可能拿1、3、4、7根,也就是可能会剩下21、19、18、15,因为最后一轮甲拿完一定要给乙剩1根或者3根,1、4、7凑8;3凑6或者10,感觉19最合适,先试算了19
--
FROM 120.229.69.*
但是谁允许拿五根的?要是随便拿,那不如取走2021根
【 在 wasabi 的大作中提到: 】
: 2022=252*8+1+5。所以如果先手拿了5根,剩下的局面也可以是 252*8+1 ,依然可以保证必胜,也就是说答案有两种,先取5根,或者先取3根都行?
--
FROM 123.116.130.*
直接dynamic programming 搞定。。。
【 在 wasabi 的大作中提到: 】
: 前几天版上有人发过的试卷中的一道题,还没有版友给出解答,恳请大家指点,题目如下:
: 有2022根火柴,甲乙两人轮流取,每次只能取1、3、4、7根,谁取最后一根谁输,甲先取。他要想保证获胜,第一次应该取几根?(写出所有可能)
--
FROM 98.225.3.*
如果 当前 2 根, 甲必败(只有一种取法:甲1,乙1)
如果 当前 3 根,甲必胜(甲1,乙1,甲1)
如果 当前 4 根,甲必胜(甲4)
如果 当前 5 根,甲必胜(甲3,乙1,甲1)
如果 当前 6 根,甲必胜(甲4,乙1)
如果 当前 7 根,甲必胜(甲7)
如果 当前 8 根, 甲必败(有四种取法 甲1,乙7; 甲3,乙3,甲1,乙1;甲4,乙4;甲7,乙1)
继续推理可得如果当前火柴数是8n或者8n+2,先拿着必败,
所以要保证留给对方的数目是8n或者8倍数+2。当前2022根火柴,拿走4根后,是2018,为8的倍数+2.
此后,保证这个策略即可。
如果当前数是8的倍数,乙拿7,甲就拿1, 乙4甲4,乙1甲7,保证甲拿完后还是8的倍数,乙3甲3,可以保证甲拿完后是8的倍数+2.
如果当前数是8的倍数+2, 乙拿7,甲拿1, 乙4甲4,乙1甲7,保证甲拿完还是8的倍数+2, 乙3甲7,可以保证甲拿完后是8的倍数。
--
FROM 114.249.49.*
这个跟《大航海时代》这个游戏里面在地中海那边收一个小伙伴的时候玩的游戏类似,那个是拿金币。方法很简单,就是从剩下1、2、3、4、5、6、7、8、9个火柴时算起,一个一个的看,看看这种情况下是必胜还是必败。然后就是从2022那拿走几根后就可以保证进入必胜或者必败的循环。我看28楼的分析应该是对的
【 在 wasabi 的大作中提到: 】
: 前几天版上有人发过的试卷中的一道题,还没有版友给出解答,恳请大家指点,题目如下:
: 有2022根火柴,甲乙两人轮流取,每次只能取1、3、4、7根,谁取最后一根谁输,甲先取。他要想保证获胜,第一次应该取几根?(写出所有可能)
: --
:
发自「今日水木 on iPhone 13」
--
FROM 180.162.225.*