C++ 入門指南 4.01
練習 10.8 參考程式 - 練習設計費氏數列類別
// 引入標準程式庫中相關的輸入、輸出程式
#include <iostream>
// std 為標準程式庫的命名空間
using namespace std;
// 宣告 FibonacciDemo 類別
class FibonacciDemo {
// 宣告 public 成員
public:
int value;
void Compute(int);
};
// 實作 FibonacciDemo 的 Compute() 成員函數
void FibonacciDemo::Compute(int p) {
// 計算費氏數列的數字
if (p == 1 || p == 2) {
value = 1;
}
else {
// 計算到 n 的費氏數列數字
int n1 = 1;
int n2 = 1;
int n3;
for (int i = 3; i <= p; i++) {
n3 = n1 + n2;
n1 = n2;
n2 = n3;
}
value = n3;
}
}
int main(void) {
// 宣告建立 FibonacciDemo 物件
FibonacciDemo a;
// 接收使用者輸入
int input;
cin >> input;
// 印出使用者指定的階層數
cout << endl;
a.Compute(input);
cout << a.value << endl;
cout << endl;
// 最後回傳 0 給作業系統
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:exercise1008.cxx
編譯:g++ exercise1008.cxx
執行:./a.out
功能:C++入門指南單元十的練習
作者:張凱慶 */
回到練習題目