找規律 - 推理遊戲

Table of Contents

※ 引述《bluehaerts (5858笨58)》之銘言:
: 1. 有1000人照編號排一行 1,2,3報數
: 報到3的人退出 其餘往前靠攏
: 重複進行 做到剩最後3個人為止
: 請問這3個人分別再原隊伍的第幾號位子??
先看看幾次之後會剩3個人:

1000 => 667 => 445 => 297 => 198 => 132 => 88 => 59 => 40 => 27
=> 18 => 12 => 8 => 6 => 4 => 3

這樣是15次

再來像drtesy版友一樣來觀察存活者的號碼變化

這裡我把每個人也從0編號起

首先 只要一變成3k+2 下一輪就出局

然後不是3k+2的人的號碼就會減去前面出局的人數 = 他的號碼除以3的整數部份

反過來 只要他這輪活下來了

那他上一輪的號碼就是這一輪的號碼加上這一輪號碼除以2的整數部份

也就是這輪活下來的3 上一輪是3+1=4 再上一輪是4+2=6 etc.

那麼 15輪之後活下來的2 (第三個人)

在14輪是2+1=3 13輪是3+1=4 12輪是4+2=6 11輪是6+3=9
10輪是9+4=13 9輪是13+6=19 8輪是19+9=28 7輪是28+14=42
6輪是42+21=63 5輪是63+31=94 4輪是94+47=141 3輪是141+70=211
2輪是211+105=316 1輪是316+158=474 0輪是474+237=711

因此留下來的第三個人就會是我的編號的711 也就是第712個人

--
"LPH" is for "Let Program Heal us"....

--

All Comments

Thomas avatarThomas2008-11-15
太神了
Callum avatarCallum2008-11-17
br
Connor avatarConnor2008-11-17
我寫個c語言程式跑出來的結果也是712是第三位仁兄
Ethan avatarEthan2008-11-19
樓上這位大大 我想看看C的程式 請問可以寄給我嗎
Suhail Hany avatarSuhail Hany2008-11-19
C的新手 不知道 要從哪下手
Dora avatarDora2008-11-24
原來這題本來就是C語言的作業 XD
Emma avatarEmma2008-11-25
可不可以也寄給我?? 我用VB有寫出來.. 可是方法很笨..