Сообщение от destus
|
Надо немного модифицировать, с учетом ограничения m
|
спасибо за инфо ... наверно есть и для этого случая алгоритм ... но в варианте ниже просто проверка на максимум (every <= m)
<script>
function fn(b, d) {
for (var a = Array(b + 1).join("1").split(""), c = []; a[0] != b;) a.reduce(function(a, b) {
return a + +b
}, 0) < b ? a.push(1) : (a.every(function(a) {
return +a <= d
}) && c.push(a.slice()), a.pop(), a[a.length - 1]++);
return c.sort(function(a, b) {
return +a.join('') - +b.join('')
})
};
document.write(fn(5,3).join('<br>')+ "<br>Всего: "+ fn(5,3).length);
</script>