Java 如何从螺旋线获得坐标
假设我有一个这样的螺旋Java 如何从螺旋线获得坐标,java,coordinates,spiral,Java,Coordinates,Spiral,假设我有一个这样的螺旋 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,它代表螺旋
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循环来实现这一点,但随着数字越来越大,这会变得效率低下。这难道不能用a来解决吗?你可以阅读很多不同的螺旋。我已经看过你之前指定的第二个链接,但我不知道如何在不使用循环的情况下实现这一点。你必须进行第一次传递,并在运行时索引坐标。不管怎样,我都会这样做。@DejaVuSansMono你说的第一次传球是什么意思?绕过螺旋线并存储所有值?当n达到数十亿时,这就不起作用了。