SAP面试题我的解答
出自求职百科
两个人轮流拿10个硬币,每次可拿1,2,4个,拿到最后一个的为输,问有无必胜条件?
假设第一个人叫A,第二个叫B。那么当A最后剩下一个的时候,A必胜,而且只
有这种方法才能取胜。也就是说9个硬币的情况下,A必须保证他最后拿完。由
于9是奇数,所以奇数=奇数个奇数之和或者奇数=奇数+偶数,由于只能拿1,2
,4,就是说奇数个奇数的这种情况不可能,因为只能保证每次只拿一个,B显
然不能接受。而后面这种情况必须保证只有奇数个奇数,如果是偶数个奇数那
么加起来就不可能是奇数,于是奇数=奇数个奇数+偶数,设置B拿了N次,A就拿
了N+1次,又假设拿奇数的次数为2M+1(M>=0)次,于是有9=(2M+1)*1+偶数*
(2N+1-2M-1)化简,4=奇数*M+偶数*N,那么M必然为偶数,也就是为2,4,6,8这
几个。又因为非负性,A要胜利则M恒为1,且4=2*1+1*2,也就是M=2,N=1,显然
M<N,命题错误,所以无论如何拿,A必败!!!
