递归算法就是把问题转化为规模小了的同类问题的子问题,然后递归调用函数来表示问题的解。
利用递归求1+2+3….:
int recursive_sum(int a)
{
if (a<=1) {
return a;
}
else{
return a+recursive_sum(a-1);
}
}
阶乘:
long factorial(long a)
{
if (a<1)
{
cout<<"wrong number"<<endl;
return -1;
}
if (a==1)
{
return 1;
}
else
{
return a*factorial(a-1);
}
}