差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
start:math:20121124 [2012/11/27 11:46] – 增加睡覺醒來的發現 jonathan | start:math:20121124 [2021/03/05 23:35] (目前版本) – jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== 青蛙換邊遊戲 ====== | ||
+ | ===== 規則 ===== | ||
+ | - 兩邊有相同數量的青蛙 | ||
+ | - 青蛙只能往前跳, | ||
+ | - 青蛙能跳到前方空格或跳躍另一隻青蛙到另一隻青蛙前的空格 | ||
+ | * 看不懂可以直接玩一下網路上的遊戲 | ||
+ | * [[http:// | ||
+ | |||
+ | ===== 問題 ===== | ||
+ | * 當青蛙變成 80 隻時, 那總共需要跳幾步才可以完成換邊? | ||
+ | * 當青蛙變成 91 隻時, 那總共需要跳幾步才可以完成換邊? | ||
+ | |||
+ | |||
+ | ===== 解答 ===== | ||
+ | * 解這題的策略就是直接由 1 隻青蛙玩到 6 隻, 再來從其中找出規則.. | ||
+ | * 以下是玩過後的筆記 {{: | ||
+ | ==== 簡單整理結論 ==== | ||
+ | * < | ||
+ | * 第一步驟往下與最後步驟往上, | ||
+ | * 青蛙數偶數時, | ||
+ | * < | ||
+ | |||
+ | ^ 青蛙數 | ||
+ | ^ | ||
+ | ^ | ||
+ | ^ | ||
+ | ^ | ||
+ | ^ | ||
+ | ^ | ||
+ | |||
+ | ==== 發現與推論 ==== | ||
+ | * 在偶數組發現可以 2 * **4** => 8 , 4 * **6** => 24 , 6 * **8** => 48 所以推論 | ||
+ | * 8 * 10 => 80 | ||
+ | * 10 * 12 => 120 | ||
+ | * 在奇數組兒子發現可以 (1+1)*(1+1)-1 => 3 , (3+1)*(3+1)-1 => 15 , (5+1)*(5+1)-1 => 35 所以推論 | ||
+ | * (7+1)*(7+1)-1 => 63 | ||
+ | * (9+1)*(9+1)-1 => 99 | ||
+ | * 當不分奇數偶數組直接觀察, | ||
+ | |||
+ | ^ 青蛙數 | ||
+ | ^ | ||
+ | ^ | ||
+ | ^ | ||
+ | ^ | ||
+ | ^ | ||
+ | ^ | ||
+ | |||
+ | * 在睡到一半突然發現這差異數竟然就是和正方形數有關..{{: | ||
+ | * 所以之前推論的奇數 (n+1)*(n+1)-1 與偶數 n*n(+2) 其實是可以透過正方形數來解釋為何長得這樣子的原因, | ||
+ | |||
+ | ==== 給程式的原則 ==== | ||
+ | * 因為有一些看法和兒子不同, | ||
+ | * 所歸納給程式的原則如下: | ||
+ | * Steps Rule : | ||
+ | * n 奇數 : Steps = (n+1)*(n+1)-1 | ||
+ | * n 偶數 : Steps = n*(n+2) | ||
+ | * Move Rule : | ||
+ | - 出現 10- => -01 | ||
+ | - 出現 -10 => 01- | ||
+ | - 出現 1-0 時, m: | ||
+ | * Stop Rule : | ||
+ | * n 奇數 : 出現與上一個排列是 Mirror 就結束(pop stack 的 mirror 步驟) | ||
+ | * n 偶數 : 出現兩邊對稱 Exp. 1010-0101 | ||
+ | ==== 產生的程式碼 ==== | ||
+ | * https:// | ||
+ | |||
+ | ==== 產生的結果 ==== | ||
+ | {{tabinclude> | ||
+ | |||
+ | ===== 結論 ===== | ||
+ | * 確定一開始的發現與推論是正確的, | ||
+ | * Steps = (n+1)*(n+1)-1 | ||
+ | * Steps = n*(n+2) | ||
+ | * 當青蛙變成 80 隻時, 那總共需要跳幾步才可以完成換邊? | ||
+ | * 答案是 (80+1)*(80+1)-1=81*81-1=6560 | ||
+ | * 答案是 80*(80+2)=80*82=6560 | ||
+ | * 當青蛙變成 91 隻時, 那總共需要跳幾步才可以完成換邊? | ||
+ | * 答案是 (91+1)*(91+1)-1=92*92-1=8463 | ||
+ | * 答案是 91*(91+2)=91*93=8463 | ||