C语言怎么用递归求组合数

求大神指导啊,递归基本思想了解,但是不知道怎么去表达,要求用公式C(n,r)=C(n,r-1)*(n-r+1)/r

int compute(int n, int r) {
    return compute(n, r-1) * (n-r+1)/r;
}

int compute(int n, int r)
{

if(r == 1)
    return n;
return compute(int n, int r - 1) * (n - r + 1) / r;

}

int compute(int n, int r)
{
return compute(n, r-1) * (n-r+1)/r;
}

递归分两部分,一部分是结束条件,就是你的递归什么时候结束
另一部分是递归调用