一个数学游戏
来源:互联网 发布:淘宝无线视频网址 编辑:程序博客网 时间:2024/05/17 06:40
一个古老的数学游戏,很早就知道了,但一直编程没编正确。今天终于正确了。
有1、2、3、4、5、6这6种牌,每种牌有3张。开始总点和记为24,然后两个人轮流选一张牌,然后从总点和里减去牌面值,直到总点和非正。谁取完牌后,总点和为0,则胜;若为负,则败。
例如:
24
A:3
21
B:6
15
A:1
14
B:2
12
A:5
7
B:3
4
A:4
A胜
问先取是否有必胜策略,或后取是否有?
下面是一段人和电脑玩的代码
下面是加强的版本,表征胜败不是用1,0简单表达,而是用了-1.0~1.0之间的实数,符号表示胜败,绝对值大小表示胜或败的强度,这样可以让电脑选择败强度低的局面(复杂,人能获胜的支路相对整个博弈树来要小,需要仔细选择),这样人可能容易出错。
另外在选择方案时,加入了一点随机性,以免每次博弈都是同样选择顺序(当,然胜败应该相同)。
- 一个数学游戏
- 游戏数学
- 数学中的游戏:概率
- 游戏开发中的数学
- 游戏中的三维数学
- HDU2211 杀人游戏(数学)
- 数列游戏(数学 ,博弈)
- 数学游戏带孩子进入数学王国
- [数学基础]游戏开发数学技术
- 一道印度数学游戏题
- ProjectEuler 301 游戏中的数学
- 常用游戏数学算法总结
- 游戏开发相关的数学
- 数学游戏中遇到问题
- 初等数学导论:传球游戏
- [Unity基础]游戏中的数学
- 占点游戏(数学)
- 游戏引擎架构----数学基础
- [ZZ]UserAgent的历史变迁
- 华丽介绍夏日冰点------この青空に約束を
- 如何去除CSDN博客中的收藏链接
- SQL Server函数
- oracle over()函数技术详解
- 一个数学游戏
- VC获得本机网络连接状态
- C#动态加载DLL
- Frame 刷新
- 《软件开发的边界-管理成功的项目》
- 叶问
- Eclipse中JUnit使用基础
- Oracle rank() over 与 row_number() over
- 用getenv函数获取各种CGI环境变量