分苹果里的模运算思维

    A和B这2个人,轮流拿苹果,每个人每次最少拿1个,最多拿5个,共有100个苹果,如果以最后一次拿到苹果的为冠军,请问有什么方法使A获得冠军?
    方法:采用逆向思维+取模运算
    假设最后只有5+1 = 6个苹果,这时,让B先拿,A后拿,A才能得冠军;
    然而,100%6 = 16…4,现在有100个苹果,多了4个,
    则需要A先拿多的4个,然后B拿n(1<=n<=5)个,A接着拿(6-n)个,即每次剩余的苹果个数能被6整除即可, 这样循环往复,最后一轮就是6个苹果,A获得冠军。

你可能感兴趣的:(生活,算法,C++)