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);

}

以上是 C ++程序使用递归查找数字的阶乘 的全部内容, 来源链接: utcz.com/z/326855.html

回到顶部