ProjectEuler 391 Hopping Game - 拼圖
By Odelette
at 2012-07-01T12:15
at 2012-07-01T12:15
Table of Contents
391. Hopping Game
http://projecteuler.net/problem=391
使 s_k 為將 0 到 k 的數字以二進制表示時 1 的數量。
舉例來說,將 0 到 5 以二進制表示時,我們得到 0, 1, 10, 11, 100, 101
一共有 7 個 1,故 s_5 = 7。
而數列 S = { s_k : k≧0 },起始幾項為 {0, 1, 2, 4, 5, 7, 9, 12, ...}
有個遊戲是兩人玩的,遊戲開始前會先選擇一個數字 n,且有個計數器 c 起始值為 0。
輪到某玩家的回合時,該玩家選擇 1 到 n(含)的其中一個數字且將該數加至計數器上
而 c 的值一定要是 S 的其中一位成員。
如果怎麼選擇並加至計數器中皆無法達成條件,該玩家輸掉這遊戲。
這有個例子:
起初選擇 n = 5,c = 0。
玩家 1 選擇 4,所以 c 為 0 + 4 = 4。
玩家 2 選擇 5,所以 c 為 4 + 5 = 9。
玩家 1 選擇 3,所以 c 為 9 + 3 = 12。
以此類推
記得,c 一定屬於 S,且每位玩家都可以將至多 n 的數加到 c 上。
使 M(n) 為玩家 1 在第一回合中,為了使自己一定會獲得勝利,所能選擇最大的數。
如果怎麼選都做不到,則 M(n) = 0。
舉例,M(2) = 2、M(7) = 1、M(20) = 4。
已知 Σ(M(n))^3 = 8150,當 1 ≦ n ≦ 20。
請求出 Σ(M(n))^3,當 1 ≦ n ≦ 1000。
--
http://projecteuler.net/problem=391
使 s_k 為將 0 到 k 的數字以二進制表示時 1 的數量。
舉例來說,將 0 到 5 以二進制表示時,我們得到 0, 1, 10, 11, 100, 101
一共有 7 個 1,故 s_5 = 7。
而數列 S = { s_k : k≧0 },起始幾項為 {0, 1, 2, 4, 5, 7, 9, 12, ...}
有個遊戲是兩人玩的,遊戲開始前會先選擇一個數字 n,且有個計數器 c 起始值為 0。
輪到某玩家的回合時,該玩家選擇 1 到 n(含)的其中一個數字且將該數加至計數器上
而 c 的值一定要是 S 的其中一位成員。
如果怎麼選擇並加至計數器中皆無法達成條件,該玩家輸掉這遊戲。
這有個例子:
起初選擇 n = 5,c = 0。
玩家 1 選擇 4,所以 c 為 0 + 4 = 4。
玩家 2 選擇 5,所以 c 為 4 + 5 = 9。
玩家 1 選擇 3,所以 c 為 9 + 3 = 12。
以此類推
記得,c 一定屬於 S,且每位玩家都可以將至多 n 的數加到 c 上。
使 M(n) 為玩家 1 在第一回合中,為了使自己一定會獲得勝利,所能選擇最大的數。
如果怎麼選都做不到,則 M(n) = 0。
舉例,M(2) = 2、M(7) = 1、M(20) = 4。
已知 Σ(M(n))^3 = 8150,當 1 ≦ n ≦ 20。
請求出 Σ(M(n))^3,當 1 ≦ n ≦ 1000。
--
Tags:
拼圖
All Comments
By Valerie
at 2012-07-03T00:23
at 2012-07-03T00:23
Related Posts
解碼
By Edith
at 2012-07-01T04:43
at 2012-07-01T04:43
誠品書店的Thinkfun打折
By Olive
at 2012-06-30T22:46
at 2012-06-30T22:46
解謎拙作
By Megan
at 2012-06-30T04:50
at 2012-06-30T04:50
阿花夢工廠一遊
By Zenobia
at 2012-06-29T12:53
at 2012-06-29T12:53
請推薦塞車時間(rush hours)
By Hedwig
at 2012-06-27T22:46
at 2012-06-27T22:46