![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
江南晚来客
这个作者很懒,什么都没留下…
展开
-
TicTacToe(井字棋)的算法——不比人的智商低的AI
何为TicTacToe?TicTacToe也俗称井字棋或三连棋(两人轮流在一有九格方盘上划加字或圆圈, 谁先把三个同一记号排成横线、直线、斜线, 即是胜者),男女老少皆宜的入门级棋类游戏。 关于游戏的实现方式,比较简单,在这就不多说了。直接谈一谈如何写出在TicTacToe游戏中不输给人类棋手的电脑。 想要写出游戏AI,第一步是自己要会玩游戏,原创 2013-03-28 19:12:42 · 15360 阅读 · 3 评论 -
详解Tic-Tac-Toe人工智能实现
详解Tic-Tac-Toe人工智能实现转自http://blog.jobbole.com/24719/ 来源: 伯乐在线Tic-Tac-Toe又称井字棋,即在3 x 3的棋盘上,双方轮流落子,先将3枚棋子连成一线的一方获得胜利。Tic-Tac-Toe变化简单,只有765个可能局面,26830个棋局,因此常成为博弈论和游戏树搜寻的教学例子,同时也是人工智能的转载 2013-04-03 10:57:27 · 4945 阅读 · 0 评论 -
老问题新解法——经典的大兔子生小兔子问题(斐波那契数列)
问题描述:从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....解决方案1: 思想方法:某月的兔子数量即为上个月的兔子数量+上个月出生的兔子数量,而出生的兔子数量即上个月的大兔子数量,也即上上月的兔子数量(上上月的兔子到了上个原创 2013-03-05 10:23:11 · 6270 阅读 · 3 评论 -
经典算法题——寻找第1500个丑数
前言: 相信很多朋友们都对“丑数”有所了解,当然肯定也有人觉得这个名字好奇怪,咦,什么样的数才算是丑数咧?实际上丑数就是只包括2,3,5这三种因子的数,另外我们一般把“1”当作第一个丑数。 知道了丑数,我们很容易发现,丑数有点像质数一样,总是没有最大的。不过丑数的寻找可比质数的寻找简单得多啦,那让我们来试一试找出从小到大排序的第1500个丑数吧。解法原创 2013-04-14 10:38:09 · 3945 阅读 · 6 评论 -
最大公约数和最小公倍数及二者之间的联系(java)
求两个数的最小公倍数和最大公约数是最基本也是最经典的算法之一。现在我们来介绍一下这两个算法的思想,以及最小公倍数和最大公约数之间的联系(这是很多人忽略的)。最后我们会用java来实现这两个算法。 最大公约数: 求最大公约数一般采用欧几里德算法。 欧几里德算法又称辗转相除法, 用于计算两个整数a, b的最大公约数。其计算原理依赖于下面原创 2013-04-26 09:49:00 · 8558 阅读 · 10 评论 -
如何选择走过你生命中的100个女孩
如果你一生中会不重复地邂逅100个女孩儿,你将如何抉择?数学计算表明把前1/e的人(100的话就前37)作为基准的话能有最大概率和最棒的女孩儿永结同心,这和我们的现实一致吗?如何让我们不光有最大的概率遇到最好的那一个,而是让我们遇到尽可能高质量的女孩儿呢?笔者将带你层层剖析问题,联系现实,并用程序模拟情景,得到让你惊讶的数据,也是能指引你一生的泡妞计划的数据。亲爱的程序猿们,跟我一起去逆袭程序媛们吧原创 2013-10-22 15:14:41 · 10278 阅读 · 43 评论 -
Java 24 点 杭电1427
最近一时兴起,刷了一些杭电的题目。其中24 点这个题目花了我不少时间,差不多两个多小时才AC。故特此记录。思路深搜当然是最佳策略,但是对于一个算法渣来说并不是我的最佳选择。我的思路:拿到四个数,全排序,然后处理括号,计算所有操作符的组合情况。打表但是!全排序的性能和深搜天差地别,这么做正确性可以保证了,但是会超时。所以,我选择打表的方式。打表很简单,把所有不能计算出24 点的组合硬编码下来。注意事项:1. 输入的数据中,10 是唯一一个两位数字,如果使用java 以外的代码实现的话,原创 2017-04-16 16:18:00 · 2221 阅读 · 0 评论