[C_RU25-易] 遞迴練習f(n)=3f(n-1)+g(n-1)﹐g(n)=-f(n-1)+g(n-1)
Time Limit: 1 seconds
問題描述 :
由式子 f(n)=3f(n-1)+g(n-1),g(n)=-f(n-1)+g(n-1) 且 f(1)=2 , g(1)=-6 ,輸入 n 值,求 f(n) 及 g(n)
輸入說明 :
輸入正整數 n 。其中 2 ≤ n ≤ 23.
輸出說明 :
依序輸出 f(n)、g(n) 的值,數值之間,隔一個空白。
範例 :
*******我沒用遞迴********
問題描述 :
由式子 f(n)=3f(n-1)+g(n-1),g(n)=-f(n-1)+g(n-1) 且 f(1)=2 , g(1)=-6 ,輸入 n 值,求 f(n) 及 g(n)
輸入說明 :
輸入正整數 n 。其中 2 ≤ n ≤ 23.
輸出說明 :
依序輸出 f(n)、g(n) 的值,數值之間,隔一個空白。
範例 :
輸入範例 | 輸出範例 |
2 | 0 -8 |
3 | -8 -8 |
*******我沒用遞迴********
- #include <iostream>
- #include <iomanip>
- #include <vector>
- using namespace std;
- int main() {
- // [C_RU25-易] 遞迴練習
- // f(n)=3f(n-1)+g(n-1)
- // g(n)=-f(n-1)+g(n-1)
- double N;
- cin >> N;
- vector<int> f;
- vector<int> g;
- for (double i=0; i< N; i++)
- {
- if(i == 0)
- {
- f.push_back(2);
- g.push_back(-6);
- }
- else
- {
- f.push_back(3*f[i-1] + g[i-1]);
- g.push_back(-1*f[i-1] + g[i-1]);
- }
- }
- cout << f[N-1] << " " << g[N-1] << endl;
- return 0;
- }
沒有留言:
張貼留言