Anonymous user
Nonoblock: Difference between revisions
m
→{{header|JavaScript}}
m (Use ternary) |
|||
Line 935:
const gapPerms = (grpSize, numGaps, minVal = 0) => {
const maxVal = numGaps - grpSize * minVal + minVal;
const sumsToTrg = sumsTo(numGaps);▼
const hasInnerZero = hasInner(0);▼
return maxVal <= 0
? (grpSize === 2 ? [[0]] : [])
:
.filter(noInnerZero)▼
.filter(sumsToTrg);▼
}
const test = (cells, ...blocks) => {
console.log(`\n${cells} cells. Blocks: ${blocks}`);▼
const grpSize = blocks.length + 1;
const numGaps = cells - sumArr(blocks);
// Filter functions
▲ const sumsToTrg = sumsTo(numGaps);
// Output formatting
const combine = zipArr([...blocks]);
const choices = toBin(choose(0, 1));
const output = compose(console.log, arrJoin(''), choices, combine);
gapPerms(grpSize, numGaps).map(compose(output, choices, combine));▼
▲ console.log(`\n${cells} cells. Blocks: ${blocks}`);
.map(output);
};
|