Занимательные задачи JavaScript. Часть 49
Дан массив чисел:
let arr = [2, 3, 4, 5, 6, 7, 8, 9];
Найдите все возможные
комбинации чисел из этого
массива, которые в сумме
дают 20.
Дан многомерный массив:
let arr = [1, [2, 3], [4, [5, 6]], 7, [8, [9, [10]]]];
Найдите путь к числу 10
в виде последовательности
индексов, например:
[4, 1, 1, 0]
Дан многомерный массив:
let arr = [1, [2, [3, [4, [5, [6]]]]], 7];
Найдите все числа, которые
находятся на нечетной
глубине вложенности
(глубина корня - 0).
Дан массив чисел:
let arr = [3, 7, 1, 9, 4, 6, 2, 8, 5];
Найдите все возможные перестановки этого массива, в которых ни один элемент не стоит на своем исходном месте.
Дан многомерный объект:
let obj = {
'a': {'b': {'c': 1}},
'd': {'e': 2, 'f': {'g': 3}},
'h': 4,
};
Выведите все пути к значениям в этом объекте в виде строк, разделенных точками:
'a.b.c'
'd.e'
'd.f.g'
'h'
Дан массив чисел:
let arr = [2, 4, 6, 8, 10];
Найдите все возможные
способы расставить между
этими числами знаки
'+', '-' и '*' так,
чтобы получилось выражение,
равное 14.
Дан многомерный массив:
let arr = [[1, 2], [3, 4], [5, 6]];
Найдите все возможные пути от верхнего левого угла до нижнего правого, двигаясь только вправо или вниз. Выведите сумму чисел на каждом пути.
Дан многомерный массив:
let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
Найдите минимальный путь от верхнего левого угла до нижнего правого, двигаясь только вправо или вниз. Выведите сам путь и его сумму.
Дан массив чисел:
let arr = [1, 2, 3, 4, 5];
Найдите все возможные
способы представить
число 10 в виде суммы
элементов этого массива
(каждый элемент можно
использовать неограниченно).
Дан многомерный объект:
let obj = {
'a': [1, 2, {'b': 3}],
'c': {'d': [4, {'e': 5}]},
'f': 6,
};
Найдите сумму всех чисел в этом объекте на всех уровнях вложенности, включая числа внутри массивов.