回覆列表
  • 1 # 我是阿嘛

    這是數論中的最優策略問題,沒有平均數原理。

    我好好想想再給你答案。

    要上班了,下班繼續思考……(時間不多,才回復,見諒)

    1. 從50中取走32粒剩餘18粒是正確的。

    2. 演算法:從其中一堆中取n個,使得剩餘的所有數目正好是“必負局(此時先取必輸的局面)”。

    3. 所謂“必負局”是指把剩餘的每一堆的數目都轉化成二進位制的數,然後把它們相加,規定做不進位的加法(也就是異或運算),即0+0=0,1+0=0,0+1=1,1+1=0(不進位),如果所得和是0(多個0),那麼此種局勢稱為“必負局”。

    4. “必負局”原理:一個“必負局”,一次改動任何一個數,都將不再是“必負局”,同時,任何一個“非必負局”,透過正確地減少某個數,一定能變成“必負局”,並且這種操作是唯一的。設想現在是“必負局”,假如你先取,勢必把其中的某個數的1改成了0,0改成了1,一定不再是“必負局”了,而我一定可以在把它變會“必負局”。其實這樣的局勢,相當於偶數,你取了,必定有對應我取的,所以我一定拿到最後一個。簡單的想,考慮只有兩堆,那麼如果原來不相等,那就是“非必負局”,先取者有必勝方式,只要取多的一堆使得兩堆相等,之後你取幾個,我就從另一堆取幾個。

    5. 應用:(也許格式會改變)

    19 010011

    7 000111

    5 000101

    3 000011

    010010 (18)10

    也就是,還要18才能變成“必負局”,所以50-18=32

    所以第1次只能在第5堆石子中取32粒,使得取出32粒後為“必負局”,即異或運算結果為0。

  • 中秋節和大豐收的關聯?
  • 如何申請創業園孵化基地入駐?