Algorithm 在有一定限制的情况下在号码线上移动汽车。找出哪辆车可以';t达到和达到特定数字的最佳方式

Algorithm 在有一定限制的情况下在号码线上移动汽车。找出哪辆车可以';t达到和达到特定数字的最佳方式,algorithm,numbers,Algorithm,Numbers,想象一辆汽车在从0开始的数字线上。汽车可以在有约束的情况下向前和向后移动,我们必须给出向前和向后移动的指令:- 汽车将以1步开始移动,每次移动后,汽车加速度将增加1。 例如 汽车在起动时处于0位置 假设我们让汽车向前移动 2.汽车将向前移动1步,所以现在汽车处于+1 假设我们让汽车向前移动 3.汽车将向前移动2步,所以现在汽车处于+3 假设我们让汽车向前移动 4.汽车将向前移动3步,所以现在汽车处于+6 假设我们让汽车向前移动 5.汽车将向前移动4步,所以现在汽车处于+10 假设我们让汽车向后移

想象一辆汽车在从0开始的数字线上。汽车可以在有约束的情况下向前和向后移动,我们必须给出向前和向后移动的指令:-

汽车将以1步开始移动,每次移动后,汽车加速度将增加1。 例如

汽车在起动时处于0位置
假设我们让汽车向前移动
2.汽车将向前移动1步,所以现在汽车处于+1

假设我们让汽车向前移动
3.汽车将向前移动2步,所以现在汽车处于+3

假设我们让汽车向前移动
4.汽车将向前移动3步,所以现在汽车处于+6

假设我们让汽车向前移动
5.汽车将向前移动4步,所以现在汽车处于+10

假设我们让汽车向后移动
6.汽车将向后移动5步,所以现在汽车处于+5

假设我们让汽车向后移动
7.汽车将向后移动6步,所以现在汽车处于-1

假设我们让汽车向前移动
8.汽车将向前移动7步,所以现在汽车处于+6

等等

所以现在的问题是,汽车能否以这种方式行驶:-
1.哪些数字不可能得出?
2.是否有任何算法可以计算出到达数字X的最小迭代次数?

我自己已经尝试了很多,试图找到任何模式和算法,也试图在互联网上找到这个问题的任何解决方案,但没有得到比暴力解决方案更好的解决方案。请帮忙

  • 一个人可以得到任何数字,因为
    -n+(n+1)=1
    ,所以要得到任何
    n
    一个人可以使用
    2N
    连续数字
  • 1
    开始添加,直到到达
    N
    或超出它。在超调的情况下,有两种可能性:
  • 超调量是偶数,然后将正变为负,这个数字等于超调量的一半
  • 过冲是奇数,通过增加下一个数字使其成为偶数,如果需要,再减去下一个数字。如果现在超调量不为零,则转到2.1
  • 示例:

    • 45:
      1+2+3+4+5+6+7+8+9+10=55,所以过冲是均匀的,遵循(2.1)。
      1+2+3+4-5+6+7+8+9+10=45

    • 46:
      1+2+3+4+5+6+7+8+9+10=55,所以超调量是奇数。
      1+2+3+4+5+6+7+8+9+10+11=66,所以过冲是均匀的,所以遵循(2.1)。
      1+2+3+4+5+6+7+8+9-10+11=46

    • 12:
      1+2+3+4+5=15,所以超调是奇数。
      1+2+3+4+5+6=21,超调仍然是奇数,减去。
      1+2+3+4+5+6-7=14,超调是均匀的,所以遵循(2.1)。
      -1+2+3+4+5+6-7=12

    • 5:
      1+2+3=6,因此超调量是奇数。
      1+2+3+4=10,仍然是奇数,所以再减去下一个数字。
      1+2+3+4-5=5,因此过冲均匀且为零,无需转到(2.1)

      • 我们应该有一个
        O(1)
        解决方案。考虑树:

                            0
                  -1                  1
             -3         1        -1        3
          -6     0   -2   4   -4    2    0   6
        -10 -2 -4 4 -6 2 0 8 -8 0 -2 6 -4 4 2 10
        
        -15 -5|-7 3|-9 1|-1 9|-11 -1|-3 7|-5 5|3 13 (left side, right is a mirror)
        
        奇数,+偶数=奇数,+奇数=偶数,+偶数=偶数, +奇数=奇数,+偶数=奇数,+奇数=偶数…等等

        请注意,树的每一层都扩展了偶数或赔率,但更重要的是,列表是完整的,包括正面和负面:

        晚上:

        0
        0, ±2, ±4, ±6
        0, ±2, ±4, ±6, ±8, ±10
        
        赔率:

        我们寻找相等或下一个更高数字的第一次出现,它是其中一行中的最后一个元素,我们知道它的
        O(1)
        公式。我们正在寻找的号码一定会包含在同一级别中

        ±1
        ±1, ±3
        ±1, ±3, ±5, ±7, ±9, ±11, ±13, ±15