使用遞迴查詢數字階乘的 C++ 程式


非負整數 n 的階乘是小於或等於 n 的所有正整數的乘積。

例如:4 的階乘是 24。

4! = 4 * 3 * 2 *1
4! = 24

可以使用遞迴程式或迭代程式找到整數的階乘。

以下程式演示了使用遞迴程式來查詢數字階乘的方法 −

示例

 即時演示

#include <iostream>
using namespace std;
int fact(int n) {
   if ((n==0)||(n==1))
   return 1;
   else
   return n*fact(n-1);
}
int main() {
   int n = 4;
   cout<<"Factorial of "<<n<<" is "<<fact(n);
   return 0;
}

輸出

Factorial of 4 is 24

在以上程式中,fact() 函式是一個遞迴函式。main() 函式使用需要求階乘的數字呼叫 fact()。此呼叫由以下程式碼片段演示。

cout<<"Factorial of "<<n<<" is "<<fact(n);

如果數字是 0 或 1,則 fact() 返回 1。如果數字是其他任何數字,則 fact() 使用值 n-1 遞迴呼叫自身。

使用以下程式碼片段演示了這一點。

int fact(int n) {
   if ((n==0)||(n==1))
   return 1;
   else
   return n*fact(n-1);
}

更新於: 2020 年 6 月 24 日

13K+ 閱讀次數

開通您的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.