如果我在水平轴上有一个点 x,该轴从 -infinty 延伸到 +infinity,并且我有一个机器人必须在这些轴上找到点 x 的位置。
如果只能给出三个命令,机器人如何找到该点的位置-
- 向右移动
- 向左移动
- 询问检查 x 是否位于给定点。
我想了想答案,我可以想到这个解决方案-如果机器人从轴的位置0开始,然后向左移动1个单位(即坐标-1),那么可以再次检查是否x 是否存在于 -1。如果它不存在,则向右移动 2 个单位(即在坐标 +1 处)并通过第三个命令再次检查相同。如果仍然找不到点 x,然后再次向左移动 3 个单位(即在坐标 -2 处)。如果 x 仍然不存在,则再次向右移动 4 个单位(即在坐标 +2 处)。它继续这样做,直到在 a 处找到点 x轴上的特定位置。
以有效方式解决此问题的正确方法是什么?