大阿里的数星星题目

2013年5月13日 由 Creater 留言 »

题目:A和B,晚上闲来无事,开始数星星,每次只能数k个,20<=k<=30,A先数,谁数完最后一组谁获胜,问星星总数为4个选项中哪一个的时候,A必胜。(我觉的这个题最后应该补充一句:最后一组可以小于20)u=2826513163,3587603888&fm=59
思路:A第一次数20-30之间。为了让自己胜利,他在游戏最后留给B的星星数为31-50(也就是当剩下31-50颗星星时,无论B怎么数,A一定取胜)。
并且从第二次开始,A数的星星个数为50-B数的星星个数。当这两个条件同时满足时,A一定取胜。 至于为什么是50,现给出解释:
如果是49,则当B数30个时,留给A的是19,不满足条件;当是51,则当B数20个时候,留给A的是31,不满足条件;只有当是50时,无论B怎么数,留给A的都符合条件。此题的关键就是找出这个50。当明白了以上几点的话,下面写出大体公式

星星总数:20~30+50*k+31~50(也就是总数除以50的余数得同时满足开始条件20~30和结束条件31~50)

以第一个选项2013为例,2013%50=13,这个时候得向高位借50,即2013/50=39,2013%50=63.接下来验证63是否满足开始条件和结束条件。63-(20~30)都落在31~50之间,满足条件。(貌似这个题只有选项2013满足)
下面举个反例2888,2888%50=38(38向不向高位借50都不满足,如果借50则余数为88),验证38或88不同时满足初始条件和结束条件。

广告位

发表评论

你必须 登陆 方可发表评论.