From 00bb5ad0ec169887e4be15d5c5c8546610328f6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grzegorz=20Ku=C4=87mierz?= Date: Fri, 23 May 2025 10:39:57 +0200 Subject: [PATCH] 647518391e258e80eedf6e06 --- src/647518391e258e80eedf6e06.js | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/647518391e258e80eedf6e06.js diff --git a/src/647518391e258e80eedf6e06.js b/src/647518391e258e80eedf6e06.js new file mode 100644 index 0000000..ea48e6b --- /dev/null +++ b/src/647518391e258e80eedf6e06.js @@ -0,0 +1,34 @@ + +const createTwoSetsOfEqualSum = n => { + const all = n * (n+1) / 2; + if (all % 2 === 1) return []; + const half = all / 2; + const a = []; + let sum = 0; + let skip; + let i = n; + for (; i > 0; --i) { + sum += i; + if (sum > half) { + sum -= i; + skip = half-sum; + a.push(skip); + break; + } else { + a.push(i); + skip = i; + if (sum === half) break; + } + } + const b = []; + for (let j = 1; j <= i; ++j) { + if (j === skip) continue; + b.push(j); + } + return [a, b]; +}; + +createTwoSetsOfEqualSum(3); +createTwoSetsOfEqualSum(8); +createTwoSetsOfEqualSum(9); +createTwoSetsOfEqualSum(23);