題組內容
3. 有一數列之數值如下:
1 2 3 6 11 20 37 68 125 …
1. 請問該數列的規則為何?請用陣列結構來表示。
詳解 (共 3 筆)
詳解
0+1+2 = 3
1+2+3 = 6
2+3+6 = 11
3+6+11 = 20
6+11+20 = 37
11+20+37 = 68
20+37+68 = 125
規律: A0 = 0; A1 = 1; A2 = 2; AN = AN-1 + AN-2 + AN-3
參考資料:
https://mrob.com/pub/math/MCS-10.html
https://www.quora.com/0-1-2-3-6-11-20-37-68-what-is-the-pattern-rule
詳解
| n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| x | 1 | 2 | 3 | 6 | 11 | 20 | 37 | 68 | 125 |
詳解
這個數列從第四項開始的每一項都是前三項的和。讓我們檢查這個規則是否適用於給出的數值:
第四項 6 是前三項的和:1 + 2 + 3 = 6
第五項 11 是接下來三項的和:2 + 3 + 6 = 11
第六項 20 是接下來三項的和:3 + 6 + 11 = 20
第七項 37 是接下來三項的和:6 + 11 + 20 = 37
第八項 68 是接下來三項的和:11 + 20 + 37 = 68
第九項 125 是接下來三項的和:20 + 37 + 68 = 125
規則成立。
第五項 11 是接下來三項的和:2 + 3 + 6 = 11
第六項 20 是接下來三項的和:3 + 6 + 11 = 20
第七項 37 是接下來三項的和:6 + 11 + 20 = 37
第八項 68 是接下來三項的和:11 + 20 + 37 = 68
第九項 125 是接下來三項的和:20 + 37 + 68 = 125
規則成立。
如果要用陣列結構來表示這個數列的規則,可以按照下面的方式來做:
初始化一個有三個元素的陣列來存儲最初的三個數值。
從第四項開始,每一項都等於陣列中的三個數值的和。
當計算出新的數值後,更新陣列:移除最舊的數值,並加入最新計算出的數值。
以下是這個數列生成規則的偽代碼表示:
從第四項開始,每一項都等於陣列中的三個數值的和。
當計算出新的數值後,更新陣列:移除最舊的數值,並加入最新計算出的數值。
以下是這個數列生成規則的偽代碼表示:
plaintext
Copy code
// 初始化
array[0] = 1
array[1] = 2
array[2] = 3
Copy code
// 初始化
array[0] = 1
array[1] = 2
array[2] = 3
// 計算數列的下一項
next_value = array[0] + array[1] + array[2]
next_value = array[0] + array[1] + array[2]
// 更新陣列
array[0] = array[1]
array[1] = array[2]
array[2] = next_value
這個規則可以被用來產生數列的任何後續項目。
array[0] = array[1]
array[1] = array[2]
array[2] = next_value
這個規則可以被用來產生數列的任何後續項目。