常用算法之递归算法

递归算法就是把问题转化为规模小了的同类问题的子问题,然后递归调用函数来表示问题的解。
利用递归求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);
    }
}

			

发表评论

电子邮件地址不会被公开。 必填项已用*标注