@eugenedrvnk

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

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

Судя по материалам в других пересекающихся темах в интернете, здесь необходимо использовать рекурсию, но как её применить, мне в голову вариант пока что не приходит.
  • Вопрос задан
  • 1886 просмотров
Решения вопроса 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);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
20 сент. 2020, в 10:33
10000 руб./за проект
20 сент. 2020, в 10:28
6000 руб./за проект
19 сент. 2020, в 23:47
5000 руб./за проект