使用递归查找数字阶乘的 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);
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP