C++问题:糖果是谁的(2012中山小学信息学邀请赛第4项)

如果B赢了,最后一轮捡糖果一定还有L+1颗糖果剩下。A做完了,剩下的B就全拿走了。

(否则,如果剩下不到L+1,A全部拿走,B输。如果有多余的L+1,A拿走后只剩下L+1,所以不管B怎么拿,A拿剩下的,B输)

所以,如果B想赢,那么第一颗K-L-1糖果也一定是B拿的最后一颗(如果K >;L+1),也就是倒数第二轮的一个* * *也拿了L+1。

诸如此类。然后A轮和B***各拿L+1糖果。所以k是L+1的倍数。L+1是k的除数。

根据问题的意思,

L+1是K的最小除数(1除外)。

因式分解k。从最小值减去1就是l的值。

C++代码缩写。