1) Дан массив цифр, не включающий ноль, произвольной длины и какое-то число. Задача написать функцию, которая скажет можно ли из этого массива получить данное число, используя все цифры, знак плюс и "комбинирование цифр".
Порядок цифр при комбинировании менять нельзя, цифры в массиве могут повторяться и должны быть использованы все.
Примеры:
[1,3,4,1] => 9 // можно: 1 + 3 + 4 + 1 = 9Бонусные очки, если функция в случае успеха показывает как именно можно получить эту сумму.
[1,3,4,1] => 36 // можно: 1 + 34 + 1 = 36
[1,3,4,1] => 54 // можно: 13 + 41 = 54
[1,3,4,1] => 18 // можно: 13 + 4 + 1 = 18
[1,3,4,1] => 342 // можно: 1 + 341 = 342
[1,3,4,1] => 87 // нельзя - нет комбинации позволяющей получить такую сумму
[1,3,4,1] => 44 // нельзя - хотя 3 + 41 = 44, необходимо использовать все цифры, а такого варианта нет
---------------------------------------------------------------------------------------------
2) Дан массив натуральных чисел с четным кол-вом элементов. Вы с соперником играете в игру - поочередно берете одно число с любого края массива (т.е. либо первое, либо последнее) и прибавляете его к своей сумме. И так до тех пор пока массив не опустеет. Побеждает тот у кого в итоге больше
Задача: придумать стратегию которая в случае вашего первого хода позволит гарантировано не проиграть.
(код писать не надо, только алгоритм)
---------------------------------------------------------------------------------------------