C语言整数划分 n>m的时候怎么求出这个递推式??

f(n, m)= 1; (n=1 or m=1)
f(n, n); (n<m)
1+ f(n, m-1); (n=m)
f(n-m,m)+f(n,m-1); (n>m)

int f(int n, int m)
{
    if(n == 1 || m == 1)
        return 1;
    else if(n < m)
        return f(n, n);
    else if(n == m)
        return 1 + f(n, m-1);
    else if(n > m)
        return f(n - m, m) + f(n, m - 1);
}

温馨提示:答案为网友推荐,仅供参考
相似回答