//测试方法
func testCreateCube151(){
println("开始生成151阶幻立方:\(NSDate())")
let cube151 = createCube(step: 151, point0: (row: 4, col: 1, deep: 1), deltaPoint: (row: 4, col: 2, deep: 2), deltaLine: (row: 2, col: 4, deep: 0), deltaSide: (row: 2, col: 3, deep: 3))
println("生成完毕:\(NSDate())")
if let cube151_ = cube151{
//printMagicCube(cube151_)//不要打印了,会疯掉的
println("\nisMagicCube 检查")
let line1 = isMagicCube(cube151_,true)
if let line1_ = line1 {
println("不是幻立方,line=\(line1_)")
}
}
}
testCreateCube151()
/*
为了能在执行过程中观察到一下信息,在createCube中增加了两行代码已打印信息
var time = step * step * step
println("总数=\(time)")//这是第一行
do{
var nextp = deltaP(pcurr: p, delta: deltaPoint, step: step)
......
p = nextp
cube[p.row][p.col][p.deep] = iPut++
if (time % 10000 == 0){
println("time=\(time)")//这是第二行
}
}while(time-- > 0)
接下来就来看下打印结果
*/
/*
开始生成151阶幻立方:2015-02-04 09:20:12 +0000
总数=3442951
time=3440000
time=3430000
time=3420000
time=3410000
time=3400000
time=3390000
。。。。。。
time=50000
time=40000
time=30000
time=20000
time=10000
生成完毕:2015-02-04 09:24:25 +0000
isMagicCube 检查
经检查,行的和都是相等的
经检查,列的和都是相等的
经检查,深的和都是相等的
前视图的各条对角线的和相等
左视图的各条对角线的和相等
俯视图的各条对角线的和相等
经检查,主对角线和是相等的
经检查,辅对角线row和是相等的
不是幻立方,line=((0, 150, 0), (150, 0, 150))
*/
/*
很好,还真是,除了立方体对角线外,其他的完美
不过我有个问题
我记得陈大记,说它曾经结果151阶的幻立方
我看这个总数=3442951
一天24*60*60=86400秒
3442951/86400 ~= 39.85
不知道他当时是怎么完成的,如果1秒钟填1个数,那不吃不喝不睡也得39.85天
不可思议
*/