将正整数n划分成一系列正整数之和,求正整数的不同划分个数

//将正整数n划分成一系列正整数之和,求正整数的不同划分个数
//n表示划分的整数,m表示划分的整数最大值
function q(n,m){
    if(n<1||m<1){
        return 0;
    }else if(n===1||m===1){
        return 1;
    }else if(n<m){
        return q(n,n)
    }else if(n===m){
        return q(n,m-1)+1
    }else{
        return q(n,m-1)+q(n-m,m)
    }
}
//例如:正整数6有11种划分
console.log(q(6,6));

  

猜你喜欢

转载自www.cnblogs.com/caoke/p/10963037.html