//將正整數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));