递归在学习的过程中不容易被理解,能够用递归解决问题的有两个条件:
1、有结束的条件(递归的出口)
2、函数体能够被反复的执行。
下面是C++递归实现阶乘的代码:
#include <iostream>
using namespace std;
int recv(int n)
{
int sum = 1;
if(1 == n)
{
return 1;
}
sum =n * recv(n - 1);
return sum;
}
int main()
{
int num = 0;
cin >> num;
cout << recv(num) << endl;
return 0;
}