常用算法之递归算法

递归算法就是把问题转化为规模小了的同类问题的子问题,然后递归调用函数来表示问题的解。
利用递归求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);
    }
}
posted @ 2015-04-09 13:47  随风的博客  阅读(107)  评论(0编辑  收藏  举报