首頁  >  文章  >  後端開發  >  C++ 函數遞迴詳解:遞歸實現階乘與斐波那契數列

C++ 函數遞迴詳解:遞歸實現階乘與斐波那契數列

王林
王林原創
2024-05-02 13:24:011005瀏覽

遞歸是函數自我呼叫的程式技術,分為基線條件和遞歸呼叫。使用遞歸可以實現階乘,即正整數乘以其所有較小正整數的乘積,和斐波那契數列,即每個數字是前兩個數字總和的數列。

C++ 函数递归详解:递归实现阶乘和斐波那契数列

C 函數遞迴詳解:遞歸實作階乘與斐波那契數列

##簡介

#遞歸是一種程式設計技術,它允許函數呼叫自身來解決問題。遞歸函數通常分為兩部分:基線條件和遞歸呼叫。

階乘的遞歸實現

階乘是將一個正整數乘以其所有較小正整數的乘積。例如,5 的階乘等於 5 x 4 x 3 x 2 x 1 = 120。

int阶乘(int n) {
  if (n == 0) {  // 基线条件
    return 1;
  } else {
    return n * 阶乘(n - 1);  // 递归调用
  }
}

實戰案例:計算10 的階乘

int result = 阶乘(10);
cout << "10 的阶乘为 " << result << endl;

輸出:

10 的阶乘为 3628800

斐波那契數列的遞迴實作

斐波那契數列是一個數列,其中每個數字是前兩個數字的總和。該數列以 0 和 1 開始。

int斐波那契(int n) {
  if (n == 0) {  // 基线条件
    return 0;
  } else if (n == 1) {
    return 1;
  } else {
    return 斐波那契(n - 1) + 斐波那契(n - 2);  // 递归调用
  }
}

實戰案例:列印斐波那契數列的前 10 個數字

for (int i = 0; i < 10; i++) {
  cout << 斐波那契(i) << " ";
}

輸出:

0 1 1 2 3 5 8 13 21 34

以上是C++ 函數遞迴詳解:遞歸實現階乘與斐波那契數列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn