This small script uses combinatory analysis to figure out the optimal denominations for given number of possible coins to minimize the coins required to produce any amount between 1 cent and 1 dollar. The candidate set of denominations is reduced to keep the combinatory possibilities within reason.
xxxxxxxxxx
<meta charset="utf-8">
<h1>Optimal denominations for a dollar</h1>
<script src="denom.js"></script>
<script>
var numCoins = [2,3,4,5,6];
function next() {
var n = numCoins.shift();
if (!n) return;
var result = denom(n);
var res = document.createElement('p');
res.textContent = n+' coins is: '+JSON.stringify(result.denom)+' with a score of '+result.score;
document.body.appendChild(res);
setTimeout(next)
}
setTimeout(next)
</script>
</html>