假设我有一个像这样的螺旋
8 1-2
| | |
7 0 3
| |
6-5-4
继续无限循环。 就合作而言:
0 at (0, 0),
1 at (0, 1),
2 at (1, 1),
3 at (1, 0),
4 at (1, -1),
5 at (0, -1),
6 at (-1, -1),
7 at (-1, 0),
8 at (-1, 1)
等...
另一种观察方式是螺旋上升1,右1,下2,左2,上3,右3,下4,左4等......
所以问题是,给定一个数字n代表螺旋中的一个位置,我将如何得到螺旋上那个地方的合作?
我知道如何使用for循环执行此操作,但随着数字变大,这会变得效率低下。