fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int fibonacci(int n, int& count) {
  5. // 基本情況:F(0) = 0 和 F(1) = 1
  6. if (n == 0) return 0;
  7. if (n == 1) return 1;
  8.  
  9. // 對於n > 1,F(n) = F(n-1) + F(n-2)
  10. // 每次遞歸調用,我們都執行一次加法運算
  11. count += 1;
  12. return fibonacci(n - 1, count) + fibonacci(n - 2, count);
  13. }
  14.  
  15. int main() {
  16. int n;
  17. cin >> n;//輸入
  18. int count = 0; // 加法運算的次數
  19. int result = fibonacci(n, count);
  20.  
  21. cout << "費氏數列 " << n << " 項的值是: " << result << endl;
  22. cout << "在計算過程中進行了" << count << "次加法運算。" << endl;
  23.  
  24. return 0;
  25. }
  26.  
Success #stdin #stdout 0.01s 5280KB
stdin
10
stdout
費氏數列 10 項的值是: 55
在計算過程中進行了88次加法運算。