23根火柴,每人可分别拿1,2或3根,如此一人那一次,拿到最后一根火柴的人算输。编个程序与电脑玩此游戏。

来源:百度知道 编辑:UC知道 时间:2024/09/20 13:51:38

#include <stdlib.h>
main()
{
int sum=23;
int k=0;
randomize();
while(sum>=0)
{
sum=sum-(random(3)+1);
k++;
printf("This is %d %d\n",k,sum);
}
getch();
}
我是用c语言写的,你自己运行下,不过这个程序有个bug就是有负数,希望你可以解决告诉我下

先说要不要实现人工智能的,另外要不要实现gui界面的,如果不要的那就简单了。
首先给个变量n=23
你输入1或者2,n减去这个数,
然后电脑给出个随机数1或者2,n-这个数, 直到n=1或者0结束,判断输赢。考试回来后发现还没有人帮你写的话我就帮你写下吧

程序没有,给你算法。
首先拿的人拿2根,然后不管后行者拿几根,先者拿的根数都跟后者拿的凑成4根(如此5次以后,就剩下23 - (2+4*5)= 1根火柴,而且是轮到后行者拿),如此,先行者必胜。

这个题目太简单啦,存在最佳策略。湛蓝水晶已经说出来了。

23根火柴,每人可分别拿1,2或3根,如此一人那一次,拿到最后一根火柴的人算输。编个程序与电脑玩此游戏。 桌上放着2007根火柴,甲乙两人轮流拿每次每人只能拿1根2根3根。谁拿到最后一根算胜,现在甲先拿, 有56根火柴,规定两人轮流拿,每人拿的根数是1根,最多拿7根,谁拿最后,谁就算输了,最先拿几根能胜 180根火柴,俩人轮流玩取火柴游戏,规定每人每次取1-7根,谁取到最后一根为输.怎样拿,才能取胜? 61根火柴,2人轮流拿.规定每人每次至少拿走1根,最多拿走3根,直到拿完为止,谁先拿到最后一根谁胜. 一堆火柴50根甲,乙两人轮流去拿谁拿到最后一根谁胜每人每次可以拿1至4根不许不拿乙让甲.先拿谁一定能取胜 三根火柴可摆几个直角 现有21根火柴,两人轮流取,每人每次可以取1到4根,不可多取,也不能不取,谁取最后一根谁输。 设计C语言程序,游戏规则:21根火柴,一次只能拿走1或2或3或4根,不能不拿不能弃权,人与电脑比赛。 三个人去吃饭,AA制,每人10块钱。老板给予优惠,返回5块。服务员拿了其中2块,退回每人1块。