--- tags: DICE C --- 23-4 遞迴數列 === > [name=CHAWTeam] 目錄:[DICE C語言程式破解](/@CHAWTeam/DiceC) 題目 --- ```! 假設一個數列 K 的第一項、第二項是 0、1,而之後的每一項為 Kn=2*Kn-1+3*Kn-2。 請設計一函式int k(int n),輸入一個正整數 N,印出數列 K 的第 N 項。 程式重複輸入,直到輸入數字小於1才停止。 輸入範例: 4 5 6 7 8 9 -1 輸出範例: 7 20 61 182 547 1640 ``` 程式碼 --- ```c= #include <stdio.h> int k(int n) { if (n == 1) { return 0; } if (n == 2) { return 1; } if (n >= 3) { return 2 * k(n - 1) + 3 * k(n - 2); } } int main() { int x; scanf("%d", &x); while (x >= 1) { printf("%d\n", k(x)); scanf("%d", &x); } return 0; } ``` 執行 --- ### 輸入 ```! 4 5 6 7 8 9 -1 ``` ### 輸出 ```! 7 20 61 182 547 1640 ``` --- [查看我們在HackMD上的所有筆記](/@CHAWTeam) 目錄:[DICE C語言程式破解](/@CHAWTeam/DiceC) --- {%hackmd Iiu5mOixR7yWkPHKCkabBg %} <iframe class="LikeCoin" height="235" src="https://button.like.co/in/embed/chawteam/button?referrer=https://hackmd.io/@CHAWTeam/DiceC-23-4" width="100%"></iframe> --- {%hackmd i1nMRrZcTFmTvoF897K9zg %}