做的比较慢,就不传了。谈一下自己的看法 第一步,做出素数表来。(举一个4*4的表格,一共16个数字)第二步,根据素数表,分析每个数字可能的组合,根据要求是相邻两个的和为素数,所以得到下表,(第一列是1-16,右边是可能的组合),给个名字吧,排 第三步,采用合适的算法排列组合。穷尽之。感觉上这个算法可以被抽象出来,而且在某个领域内比较常用,起先想到的是棋谱,虽然俺对棋谱不是太熟悉,但五子棋的棋谱我也见过,记得好像是深度优先,下一层记做一个符合,兄弟层又记做另一个符合。也许这个题目是在考数据结构吧。我记得在搜索a*算法的时候,网上随意翻了一下,八皇后问题,是国际象棋的。和这个有些类似,当时猜测需要使用递归。一看到彭兄又在做递归,立马想到彭兄是十拿九稳的了。但彭兄却说用穷举法太慢。一时想不出有什么好的方法。应该有暴强的鲜为人知的方法吧。做五子棋的一个朋友copy过很长一段汇编的代码到过五子棋论坛,只是当时回应者了了. 1 , 1 2 4 6 10 12 16 2 , 1 3 5 9 11 15 3 ,2 4 8 10 14 16 4 ,1 3 7 9 13 15 5 ,2 6 8 12 14 6 ,1 5 7 11 13 7 ,4 6 10 12 16 8 ,3 5 9 11 15 9 ,2 4 8 10 14 10 ,1 3 7 9 13 11 ,2 6 8 12 12 ,1 5 7 11 13 ,4 6 10 16 14 ,3 5 9 15 15 ,2 4 8 14 16 16 ,1 3 7 13 15 |