//将正整数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));