螺旋填充配方

时间:2018-03-23 05:14:42

标签: math

我正在尝试找到螺旋填充数组的公式 例如:
  0 1 2 3 4
11 12 13 14 5
10 9 8 7 6

我的公式基于螺旋的“角落”。在示例中,“角落”是粗体。使用单元格的坐标,我们可以找到小于我们想要找到的数字的最大“角落”的坐标。坐标为“角落”,我们可以找到这个“角落”的索引。使用角数索引,我们可以找到数字。如何通过索引查找转角数的公式?

1 个答案:

答案 0 :(得分:0)

强有力的线索:
设数的宽度为W,高度为H.我们可以看到下一个序列:

0
(W-1)
(W-1) + (H-1) 
(W-1) + (H-1) + (W-1) 
(W-1) + (H-1) + (W-1) + (H-2)  //full round, increment shifts
(W-1) + (H-1) + (W-1) + (H-2) + (W-2)
...

如果你想制作一个公式,请注意W和H的多重性,算术进度和模数2和4的余数