Cubbat,
для медитации не самый рациональный вариант ... пример для 5 ступенек и максимума 3
<script>
function fn(f, g) {
for (var h = [], k = 0;; k++) {
var d = k.toString(g),
c = f - d.length;
if (0 > c) break;
for (var b = "", a = 0, e = 0; e < d.length; e++) c = parseInt(d[e], g) + 1, b += c, a += c;
a = f - a;
0 <= a && (b = Array(++a).join("1") + b, h.push(b))
}
return h.sort(function(a, b) {
return a - b
})
};
document.write(fn(5,3).join('<br>')+ "<br>Всего: "+ fn(5,3).length);
</script>