Barcode Width Mapper
by skibulk
JavaScript
// (C) 2021 skibulk
console.clear();
function generateBarcodes(numBars){
var barcodes = [];
var bars = [];
var start = parseInt("1".padEnd(numBars, "0"), 3);
for(var i=start; i<Math.pow(3, numBars); i++){
bars = i.toString(3).split('');
for(var bi=0; bi<bars.length; bi++) bars[bi]++;
// barcodes.push(bars.join(''));
barcodes.push(total(bars));
}
const counts = {};
barcodes.forEach(function (x) { counts[x] = (counts[x] || 0) + 1; });
console.log(numBars, total(barcodes), barcodes);
console.log(numBars, counts);
return barcodes;
}
// 16 Trinary Bits = 43,046,721
for(var i=4; i<=11; i++){
generateBarcodes(i);
}
function total(arr){
return arr.reduce((a, b) => a + b, 0);
}