숫자 n이 주어졌습니다
요구사항:
(1) 방정식 좌변의 정수 값은 1~n-1입니다.
(2) 방정식 좌변의 합은 다음과 같습니다. N.
<code>若 n = 3; 1 + 1 + 1 = 3; 1 + 2 = 3;</code>
숫자 n이 주어졌습니다
요구사항:
(1) 방정식 좌변의 정수 값은 1~n-1입니다.
(2) 방정식 좌변의 합은 다음과 같습니다. N.
<code>若 n = 3; 1 + 1 + 1 = 3; 1 + 2 = 3;</code>
포스터를 보고 배울 수 있습니다母函数
이것은 상위 기능에 대한 템플릿 질문이어야 합니다
<code>function calcN (n) { var res = [], cache = {}; loop(n); function loop(k, arr) { arr = arr || []; var i = 1, count = k / 2 | 0; cache[k] = true; while (i <= count) { res.push(arr.concat([i, k - i])); if (!cache.hasOwnProperty(i)) { loop(i, [k - i].concat(arr)); } if (!cache.hasOwnProperty(k - i)) { loop(k - i, [i].concat(arr)); } i++; } } return res; } // 测试部分: console.log(calcN(5)); // 输出 [ [ 1, 4 ], [ 1, 1, 3 ], [ 1, 1, 1, 2 ], [ 1, 1, 1, 1, 1 ], [ 1, 2, 2 ], [ 2, 3 ] ]</code>
C++의 경우 위 내용을 토대로 수정하고 map
, vector