幻立方解法之4阶,5阶,7阶
来源:互联网 发布:js splice 参数 编辑:程序博客网 时间:2024/04/30 06:09
/*接上一篇
准备工作都做好了,现在来看看百度上提供的这个4阶幻立方到底完美不完美
http://baike.baidu.com/link?url=2soOQvIeehXTDdFXctT3GPrkqQW5WdRkO-oBubYF41rLFDqkkh2WaOSbffkBhdkSTRTazRLSLop-a4UlNh_a2K
第一层
1,8,61,60
62,59,2,7
52,53,16,9
15,10,51,54
第二层
48,41,20,21
19,22,47,42
29,28,33,40
34,39,30,27
第三层
49,56,13,12
14,11,50,55
4,5,64,57
63,58,3,6
第四层
32,25,36,37
35,38,31,26
45,44,17,24
18,23,46,43
*/
func testMagicCubeFour(){
var cubeFour: [[[Int]]] =
[
[
[1,8,61,60],
[62,59,2,7],
[52,53,16,9],
[15,10,51,54]
],
[
[48,41,20,21],
[19,22,47,42],
[29,28,33,40],
[34,39,30,27]
],
[
[49,56,13,12],
[14,11,50,55],
[4,5,64,57],
[63,58,3,6]
],
[
[32,25,36,37],
[35,38,31,26],
[45,44,17,24],
[18,23,46,43]
]
]
cubeFour =covertCube(cubeFour)
printMagicCube(cubeFour)
println("\nisMagicCube检查")
let line1 = isMagicCube(cubeFour,true)
if let line1_ = line1 {
println("不是幻立方,line=\(line1_)")
}
}
//testMagicCubeFour()//放开即可打印
//下面是打印结果
/*
第0层
[1,8,61,60]
[62,59,2,7]
[52,53,16,9]
[15,10,51,54]
第1层
[48,41,20,21]
[19,22,47,42]
[29,28,33,40]
[34,39,30,27]
第2层
[49,56,13,12]
[14,11,50,55]
[4,5,64,57]
[63,58,3,6]
第3层
[32,25,36,37]
[35,38,31,26]
[45,44,17,24]
[18,23,46,43]
isMagicCube 检查
经检查,行的和都是相等的
经检查,列的和都是相等的
经检查,深的和都是相等的
前视图的各条对角线的和相等
不是幻立方,line=((0, 0, 0), (3, 0, 3))
*/
//也就是说左视图第一张主对角线的和不是幻和,不太完美,可惜
/*
下面再来看看同样是百度百科上的这个五阶标准幻立方实例
http://baike.baidu.com/link?url=2soOQvIeehXTDdFXctT3GPrkqQW5WdRkO-oBubYF41rLFDqkkh2WaOSbffkBhdkSTRTazRLSLop-a4UlNh_a2K
*/
func testMagicCubeFive(){
var cubeFive: [[[Int]]] =
[
[
[67,18, 119,106,5 ],
[116,17,14, 73, 95],
[40,50, 81, 65, 79],
[56,120,55, 49, 35],
[36,110,46, 22, 101]
],
[
[66,72, 27, 102,48],
[26,39, 92, 44, 114],
[32,93, 88, 83, 19],
[113,57,9, 62, 74],
[78,54, 99, 24, 60]
],
[
[42,111,85, 2, 75],
[30,118,21, 123,23],
[89,68, 63, 58, 37],
[103,3, 105,8, 96],
[51,15, 41, 124,84]
],
[
[115,98,4, 1, 97],
[52,64, 117,69,13],
[107,43,38, 33, 94],
[12,82, 34, 87, 100],
[29,28, 122,125,11]
],
[
[25,16, 80, 104,90],
[91,77, 71, 6, 70],
[47,61, 45, 76, 86],
[31,53, 112,109,10],
[121,108,7, 20, 59]
]
]
cubeFive =covertCube(cubeFive)
printMagicCube(cubeFive)
println("\nisMagicCube检查")
let line1 = isMagicCube(cubeFive,true)
if let line1_ = line1 {
println("不是幻立方,line=\(line1_)")
}
}
//testMagicCubeFive()//放开即可打印
//下面是打印结果
/*
第0层
[67,18,119,106,5]
[116,17,14,73,95]
[40,50,81,65,79]
[56,120,55,49,35]
[36,110,46,22,101]
第1层
[66,72,27,102,48]
[26,39,92,44,114]
[32,93,88,83,19]
[113,57,9,62,74]
[78,54,99,24,60]
第2层
[42,111,85,2,75]
[30,118,21,123,23]
[89,68,63,58,37]
[103,3,105,8,96]
[51,15,41,124,84]
第3层
[115,98,4,1,97]
[52,64,117,69,13]
[107,43,38,33,94]
[12,82,34,87,100]
[29,28,122,125,11]
第4层
[25,16,80,104,90]
[91,77,71,6,70]
[47,61,45,76,86]
[31,53,112,109,10]
[121,108,7,20,59]
isMagicCube 检查
经检查,行的和都是相等的
经检查,列的和都是相等的
经检查,深的和都是相等的
前视图的各条对角线的和相等
左视图的各条对角线的和相等
俯视图的各条对角线的和相等
经检查,主对角线和是相等的
经检查,辅对角线row和是相等的
经检查,辅对角线col和是相等的
经检查,辅对角线deep和是相等的
*/
//这还真是个完美的5阶幻立方
/*
接下来看下齐鲁晚报网提供的一个7阶幻方
http://www.qlwb.com.cn/2015/0118/298452_2.shtml
看看它上面的数字,有些都黏在一起了
我是花了好多苦力活才把他们分开的
接下来我们检查下这个7阶幻立方完美程度
*/
func testMagicCubeSeven(){
var cubeSeven: [[[Int]]] =
[
[
[226,252, 320, 45, 64, 139,158],
[115,183, 209, 277, 296, 28, 96],
[4, 72, 147, 166, 234, 253,328],
[285,304, 29, 55, 123, 191,217],
[174,242, 261, 336, 12, 80, 99],
[63, 131, 150, 218, 293, 312,37],
[337,20, 88, 107, 182, 201,269]
],
[
[41, 60, 128, 154, 222, 290,309],
[273,341, 17, 85, 111, 179,198],
[155,230, 249, 317, 49, 68, 136],
[93, 119, 187, 206, 274, 300,25],
[325,1, 76, 144, 163, 238,257],
[214,282, 308, 33, 52, 120,195],
[103,171, 239, 265, 333, 9, 84]
],
[
[192,211, 286, 305, 30, 56, 124],
[81, 100, 175, 243, 262, 330,13],
[313,38, 57, 132, 151, 219,294],
[202,270, 338, 21, 89, 108,176],
[140,159, 227, 246, 321, 46, 65],
[22, 97, 116, 184, 210, 278,297],
[254,329, 5, 73, 141, 167,235]
],
[
[301,26, 94, 113, 188, 207,275],
[232,258, 326, 2, 77, 145,164],
[121,196, 215, 283, 302, 34, 53],
[10, 78, 104, 172, 240, 266,334],
[291,310, 42, 61, 129, 148,223],
[180,199, 267, 342, 18, 86, 112],
[69, 137, 156, 231, 250, 318,43]
],
[
[109,177, 203, 271, 339, 15, 90],
[47, 66, 134, 160, 228, 247,322],
[279,298, 23, 98, 117, 185,204],
[168,236, 255, 323, 6, 74, 142],
[50, 125, 193, 212, 287, 306,31],
[331,14, 82, 101, 169, 244,263],
[220,288, 314, 39, 58, 133,152]
],
[
[260,335, 11, 79, 105, 173,241],
[149,224, 292, 311, 36, 62, 130],
[87, 106, 181, 200, 268, 343,19],
[319,44, 70, 138, 157, 225,251],
[208,276, 295, 27, 95, 114,189],
[146,165, 233, 259, 327, 3, 71],
[35, 54, 122, 190, 216, 284,303]
],
[
[75, 143, 162, 237, 256, 324,7],
[307,32, 51, 126, 194, 213,281],
[245,264, 332, 8, 83, 102,170],
[127,153, 221, 289, 315, 40, 59],
[16, 91, 110, 178, 197, 272,340],
[248,316, 48, 67, 135, 161,229],
[186,205, 280, 299, 24, 92, 118]
]
]
cubeSeven =covertCube(cubeSeven)
printMagicCube(cubeSeven)
println("\nisMagicCube检查")
let line1 = isMagicCube(cubeSeven,true)
if let line1_ = line1 {
println("不是幻立方,line=\(line1_)")
}
}
//testMagicCubeSeven()//放开即可打印
/*
第0层
[226,252,320,45,64,139,158]
[115,183,209,277,296,28,96]
[4,72,147,166,234,253,328]
[285,304,29,55,123,191,217]
[174,242,261,336,12,80,99]
[63,131,150,218,293,312,37]
[337,20,88,107,182,201,269]
第1层
[41,60,128,154,222,290,309]
[273,341,17,85,111,179,198]
[155,230,249,317,49,68,136]
[93,119,187,206,274,300,25]
[325,1,76,144,163,238,257]
[214,282,308,33,52,120,195]
[103,171,239,265,333,9,84]
第2层
[192,211,286,305,30,56,124]
[81,100,175,243,262,330,13]
[313,38,57,132,151,219,294]
[202,270,338,21,89,108,176]
[140,159,227,246,321,46,65]
[22,97,116,184,210,278,297]
[254,329,5,73,141,167,235]
第3层
[301,26,94,113,188,207,275]
[232,258,326,2,77,145,164]
[121,196,215,283,302,34,53]
[10,78,104,172,240,266,334]
[291,310,42,61,129,148,223]
[180,199,267,342,18,86,112]
[69,137,156,231,250,318,43]
第4层
[109,177,203,271,339,15,90]
[47,66,134,160,228,247,322]
[279,298,23,98,117,185,204]
[168,236,255,323,6,74,142]
[50,125,193,212,287,306,31]
[331,14,82,101,169,244,263]
[220,288,314,39,58,133,152]
第5层
[260,335,11,79,105,173,241]
[149,224,292,311,36,62,130]
[87,106,181,200,268,343,19]
[319,44,70,138,157,225,251]
[208,276,295,27,95,114,189]
[146,165,233,259,327,3,71]
[35,54,122,190,216,284,303]
第6层
[75,143,162,237,256,324,7]
[307,32,51,126,194,213,281]
[245,264,332,8,83,102,170]
[127,153,221,289,315,40,59]
[16,91,110,178,197,272,340]
[248,316,48,67,135,161,229]
[186,205,280,299,24,92,118]
isMagicCube 检查
经检查,行的和都是相等的
经检查,列的和都是相等的
经检查,深的和都是相等的
前视图的各条对角线的和相等
左视图的各条对角线的和相等
俯视图的各条对角线的和相等
经检查,主对角线和是相等的
经检查,辅对角线row和是相等的
经检查,辅对角线col和是相等的
经检查,辅对角线deep和是相等的
*/
//看这检查结果,真的是perfect,没浪费我一片苦心
- 幻立方解法之4阶,5阶,7阶
- 幻立方解法之7阶延展
- 幻立方解法之素数3阶幻立方
- 幻立方解法之151阶
- 幻立方解法之7阶幻立方的生成方法
- 幻立方解法之开篇
- 幻立方解法之暴力求解
- HDU 2114 Calculate S(n)(立方阶求和公式)
- 南邮ACM 1007 完美立方 JAVA解法
- bdpq四阶完全解法
- 有道难题的双立方数问题的高速解法
- 暑期集训之立方求和
- 幻方解法之总结篇
- 青蛙跳台阶问题的四种解法
- 09扩展 青蛙跳台阶(高效解法)
- Java青蛙跳台阶的递归和非递归解法
- 跳台阶的动态规划(DP)解法
- OpenGL学习之绘制立方图
- Linux服务器时间设置及同步
- 补上漏下的几篇博客
- AndroidのListView之滑动列表项(点击事件和滑动事件共存)
- ASP.NET的Excel导出问题
- struts2 获取list的索引
- 幻立方解法之4阶,5阶,7阶
- 关于ligercombobox
- UVA202
- Swift中navigationBar相关属性设置
- numpy中argsort函数用法
- IT精英,必须掌握的命令
- poj1759
- Android中LocalSocket使用
- 判断点是否在多边形内