Напишіть програму або функцію, яка приймає масив невід’ємних цілих чисел як вхід і виводить набір векторів / масивів з елементами вхідного масиву в порядку, розділіть так, щоб кожен вектор суммувався до 15. Якщо сума першого N елементів не "потрапляє в 15", тоді число, яке перенесло його через 15, повинно бути відрізане, а решта буде першим елементом наступного вектора. Це триває, поки ви не досягнете кінця вхідного масиву. Якщо сума кінцевого вектора менша за 15, то в кінці потрібно додати число, щоб збільшити суму.
Я думаю, що правила легше зрозуміти, переглянувши приклади:
Input: 3 7 5 10
Output:
3 7 5 <- Sum is 15
10 5 <- 5 is added to make the sum 15
Input: 2 4 5 9 2 3 5 0 2 4 5 0 3
Output:
2 4 5 4 <- Sum 15. 9 is split in two.
5 2 3 5 <- The first 5 is the remainder of 9
0 2 4 5 0 3 1 <- The last number is added to make the sum 15
Input: 1 1 1
Output:
1 1 1 12 <- The number 12 is added to make the sum 15
Input: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Output:
1 2 3 4 5
6 7 2 <- 2 is the first part of 8
6 9 <- 6 is the remainder of 8
10 5 <- 5 is first part of 11
6 9 <- 6 is remainder of 11. 9 is first part of 12
3 12 <- 3 is remainder of 12. 12 is first part of 13
1 14 <- 1 is remainder of 13. 14 is 14
15
15 <- 15 is first part of 16
1 14 <- 1 is remainder of 16. 14 is first part of 17
3 12 <- 3 is remainder of 17. 12 is added to make the sum 15
Input: 20 20
Output:
15
5 10 <- 5 is remainder from the first 20
10 5 <- 10 is remainder from second 20. 5 is added to make the sum = 15.
Як введення, так і вихідний формат необов’язковий. Те, що є найкращим у вашій мові.
Виграє найкоротший код у байтах.
Таблиця лідерів
Фрагмент стека внизу цієї публікації генерує каталог з відповідей а) як список найкоротших варіантів для кожної мови та б) як загальний таблиця лідерів.
Щоб переконатися, що ваша відповідь відображається, будь ласка, почніть свою відповідь із заголовка, використовуючи наступний шаблон Markdown:
## Language Name, N bytes
де N
розмір вашого подання. Якщо ви покращите свій рахунок, ви можете зберегти старі бали у заголовку, прокресливши їх. Наприклад:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Якщо ви хочете включити у свій заголовок декілька чисел (наприклад, тому що ваш результат становить суму двох файлів або ви хочете окремо вказати штрафні санкції для перекладача), переконайтесь, що фактичний результат - це останнє число у заголовку:
## Perl, 43 + 2 (-p flag) = 45 bytes
Ви також можете зробити ім'я мови посиланням, яке з’явиться у фрагменті:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
Input: 100 Output: 15; 15; 15; 15; 15; 15; 10 5
[[3, 7, 5], [10, 5]]
це, що буде дійсним результатом для першого тестового випадку?