谁能帮我证明一个问题?

来源:百度知道 编辑:UC知道 时间:2024/09/24 10:30:59
谁能帮我证明一下这个问题回答的是正确还是错误? 假设排列着X个乒乓球,由两个人轮流拿球装入口袋,能拿到第X个乒乓球的人为胜利者。条件是:每次拿球者至少要拿Y个,但最多不能超过Z个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第X个乒乓球?答案:先拿X/(Y+Z)的余数个,他拿n个,你拿(Y+Z)-n,依此类推。当然必须保证X/(Y+Z)的余数不等于0 这样就能满足题目的要求.

要反过来思考。
若你想拿到x球,也就是你必须拿最后一次。
这个问题的关键就是如何保证你拿最后一次,
也就是,对方一次不能拿完。
根据条件,一次可以拿y-z个,所以每次你拿完之后,必须剩余:
(y+z)*m
m为整数
这样,到最后就剩下y+z个,对方一次不能拿完,而你能拿到最后一个。
要想保证剩余(y+z)*m个,就必须你第一次拿:
X/(Y+Z)的余数个
同时,你们没循环的拿球和为y+z,于是
他拿n个,你拿(Y+Z)-n

1个

3