這題要考你的不是遞迴,而是要你觀察數列的性質
當數列為
1 2 3 3 2 1 3 2 1 1 2 3 3 2 1 1 2 3 1 2 3 3 2 1...
我們可以注意到第2、5、8、11、14...個數都為2
再來就是比較複雜的部分
當遇到第3*(2^0)=3個數時其值為3
當遇到第3*(2^1)=6個數時其值為1
當遇到第3*(2^2)=12個數時其值為3
當遇到第3*(2^3)=24個數時其值為1
當遇到第3*(2^4)=48個數時其值為3
....
我們可以把這一序列的數字存起來,所以可得[3, 6, 12, 24, 48 .... ] (存到出現9位數的數字即可)
接下來我們要判斷的是第K個數字其值為1還是3時
可以用此步驟判斷
ex.
K=31
31 - 24 = 7
7 - 6 = 1
("-"的步驟做到最後為1或3時停止)
"-"的步驟做了兩次,若是偶數次步驟則得到的答案不會改變,即為1
K=24
24 - 12 = 12
12 - 6 = 6
6 - 3 = 3
("-"的步驟做到最後為1或3時停止)
"-"的步驟做了三次,若是奇數次步驟則得到的答案會改變
不是3變為1、就是1變為3
因為最後6-3=3,所以3變為1---->答案為1