@eugenedrvnk

Как получить все возможные комбинации перетасовки цифр числа?

Есть, к примеру число 941.
На выходе необходимо получить : 941, 914, 491, 419, 149, 194.

Судя по материалам в других пересекающихся темах в интернете, здесь необходимо использовать рекурсию, но как её применить, мне в голову вариант пока что не приходит.
  • Вопрос задан
  • 3153 просмотра
Решения вопроса 1
longclaps
@longclaps
function* permutatins(s) {
    if (s.length > 1)
        for (let i = 0; i < s.length; i++)
            for (let t of permutatins(s.slice(0, i) + s.slice(i + 1)))
                yield s.charAt(i) + t;
    else yield s;
}

for (let s of permutatins('941'))
    console.log(s);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы