使用递归查找数字阶乘的 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.