回覆列表
  • 1 # 菜鳥行走江湖

    數字華容道,一個很有趣的遊戲,就是在一個n階數字陣裡,只有一個空格,位置打亂,讓重新按順序排好。自己做著做著,發現可以有方法規律,並且百用百順,就總結並拿出來和大家共同分享探討:一行一行的弄順,

    拿四階的舉例:

    先把1,2,3,4無論是什麼順序的弄到第一行,

    第二行無論是什麼數,無論是什麼順序的,不予理睬,把第一行弄順即可,

    比如2,4,3,1

    先把1弄到2之前,再把3弄到4之前,具體如何擺放,可能還需要和下一行的(2,1)(2,2)(2,3)位置上的數字互換,也可能不需要,這裡的(x,y)是指的下一行的x代表的行數和y代表的列數,

    以此類推,直到把倒數第二行的數字也都弄好為止,

    最後一行的數字在倒數第二行的數字不變位置的情況下,

    按數序排好即可。

    還有,在具體每

    一行的位置排序時,要注意

    如每一個位置的數字只能跳到相隔偶數的個數的位置上面,

    拿一個4×4舉例,

    第一行是2,3, 4,1

    第二行是6,5,8, 7

    連在一起可以看成一個數字環,首尾相接

    就是2, 3,4,1,7,8,5,6,也可以看成78562341

    第一步:5跳2個數,就是25341786,

    第二步:然後1跳4個數,變成12534786,

    第三步:5跳4個數,變成12347856

    第四步:7跳2個數變成12348576

    第五步:5跳2個數變成12348765

    數字環形成順序正確,形成兩行

    第一行是1234,第二行是5678

    至於為什麼每個數都能跳過偶數個數的位置,原因就是因為每個數在透過跳躍別的數字而改變位置時,必須是它的上方或者下方出現空格時,那就是在向它同列的下一行或者上一行移位,那就是相當於跳過了兩倍的它旁邊的列數的個數,那就是等於跳過偶數個數的數字位置。

    由此我還想到當n* n個數字華容道時,在n-1行的數字華容道都排好時,很有可能會出現最後一行卻還不好的情況,那就是這個遊戲沒設計好,它的位置跳過的數字個數總和是奇數個,而不是偶數個,拿3*3的數字華容道第三行的87來舉例,需要移動的位置個數是1個,就是把8移動到7後面就行。如果在上面2行都排好的情況下,這行如果是87

    那麼這個數字華容道就是做不了的。

    再舉例,如果是4×4,假定前面全部排好,如果最後一行是13,16,15,14,那就是需要跳過奇數個位置的數字,首先,14移到16前面,需要跳過2個數,那就是13,14, 16,15,15跳到16前面,跳過1個數,那還是無法實現的。

    可以這樣證明,一個數列,打亂的那種,如果需要跳過的數字個數和是奇數個,但是如果你每次跳過的數字(就像數字華容道那樣),個數只能是偶數個,那麼是不可能能達到目標的,因為你跳過的的數字個數的總和只可能是偶數個,不可能是奇數個

  • 中秋節和大豐收的關聯?
  • 當媽之後想哭怎麼辦?