幻立方解法之7阶幻立方的生成方法

幻立方解法之7阶幻立方的生成方法接上篇 对了 我是来找规律的 找幻立方的生成方法的 先看看这个 7 阶的完美幻立方 初始位置 1 是在 4 1 1 第 4 行 第 1 列 第 1 层 0 为基数 下一步的位置与上一步的相对位移是 4 2 2 7 的倍数后有个跳步 因为按 4 2 2 规则 如果不跳的话 8 的位置就是 1 的位置 总不能把 1 给换了吧 7

大家好,我是讯享网,很高兴认识大家。

/*接上篇

对了,我是来找规律的,找幻立方的生成方法的

先看看这个7阶的完美幻立方

初始位置1是在4-1-1(第4行,第1列,第1层,0为基数)

下一步的位置与上一步的相对位移是4-2-2

7的倍数后有个跳步,因为按4-2-2规则,如果不跳的话8的位置就是1的位置,总不能把1给换了吧

7的倍数后的数与前数的相对位移是2-4-0

7*7=49的倍数后又有一个跳步,同样,按照前面的规则,如果不跳的话就没得走了

跳步的相对位移是2-3-3


讯享网

我们把阶数step,起始位置point0,移步规则deltaPoint,7倍数的跳步规则deltaLine,49倍数的跳步规则deltaSide都写成参数

这样创建幻立方的通用方法就出来了

*/

func createCube(#step: Int, #point0:(row:Int, col:Int, deep:Int),#deltaPoint:(row:Int, col:Int, deep:Int),#deltaLine:(row:Int, col:Int, deep:Int),#deltaSide:(row:Int, col:Int, deep:Int)) -> ([[[Int]]])?{

let cube1 = [Int](count: step, repeatedValue: 0)

let cube2 = [[Int]](count: step, repeatedValue: cube1)

var cube = [[[Int]]](count: step, repeatedValue: cube2)

  

func deltaP(#pcurr:(row:Int, col:Int, deep:Int),#delta:(row:Int, col:Int, deep:Int),#step:Int)->(row:Int, col:Int, deep:Int){

小讯
上一篇 2025-01-08 10:53
下一篇 2025-01-06 11:41

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/74229.html