Я нашел эту тему полезной и подумал, что добавлю Javascript-решение, которое вы можете вставить в Firebug.
function string_recurse(active, rest) {
if (rest.length == 0) {
console.log(active);
} else {
string_recurse(active + rest.charAt(0), rest.substring(1, rest.length));
string_recurse(active, rest.substring(1, rest.length));
}
}
string_recurse("", "abc");
Выход должен быть следующим:
abc
ab
ac
a
bc
b
c