在想的時候先別急著把那個 -1 加進去
可以先這樣看
1_1_2_3+(-1)_5+(-1)_8+(-2)_13+(-3)+(-1)_21+(-5)+(-1)_34+(-8)+(-2)
可以發現,求第 n 項的時候可以是費氏數列第 n 項減掉 費氏數列的 n-3 , n-6 ...
假設今天要求的是第 10 項 根據上面就會等於是 f(10) - (f(7)+f(4)+f(1))
把 f(7) +f(4) +f(1) 換成以下的形式看一下
f(n) 1 1 2 3 5 8 13 21
cnt 1 0 0 1 0 0 1 0
乍看之下好像沒什麼幫助
試著把它 乘2 看看
f(n) 1 1 2 3 5 8 13 21 34
cnt 2 0 0 2 0 0 2 0 0
因為 f(n) = f(n-1) + f(n-2)
所以我們可以轉成這樣
f(n) 1 1 2 3 5 8 13 21 34
cnt 2 1 1 1 1 1 1 0 0
從 f(1) + f(2) 一路加上去 就會變成
結論就是 2*(f(7)+f(4)+f(1)) 最後變成 f(9) 了 可以先粗略地得知 答案就是 f(n) - f(n-1)/2
抓 f(8) = 21 來說 根本不會像是 2*(f(6)+f(3))
所以給他偷偷捕一個 1 上去 就可以滿足上面那個推法了
阿那個 1 也會在做整數除法的時候被捨去 所以結論跟上面那個是一樣的~