C语言:甲乙轮流取硬币,每次最少1个,最多3个,甲先取,取走最后1个硬币者获胜
#include <stdio.h> //n个硬币,甲(Rui)乙(Seven)两人轮流取硬币,每次最少取1个,最多取3个 。甲先取,取走最后1个硬币者获胜; //甲乙都能做出最佳选择的情况下,输赢只与硬币数量n有关。编程任意n个硬币,如果甲赢输出"Rui",乙赢输出"Seven" //每个人都想最后留下4个,自己就能赢;最优:甲拿x个,乙拿4-x,甲拿x个,始终甲和乙拿的数之和是4对于甲乙来说就是最优的 //分析:1-3:甲先取,甲赢;;4个: 甲取1 2 3个分别余3 2 1,都是乙赢;5个:1 (余4)甲赢;6个:2(余4)甲赢;7个:3(余4)甲赢 main() { int n; scanf("%d",&n); if(n%4==0) printf("Seven"); else printf("Rui"); getchar(); }