Введение
Рассмотрим два непустых целочисленных массива, скажем, A = [0 3 2 2 8 4] и B = [7 8 7 2] . Чтобы выполнить выравнивание на них, мы делаем следующее:
Повторите каждый массив достаточно раз, чтобы иметь общую длину lcm (длина (A), длина (B)) . Здесь lcm обозначает наименьший общий множитель .
A -> [0 3 2 2 8 4][0 3 2 2 8 4] B -> [7 8 7 2][7 8 7 2][7 8 7 2]
Выполните поэлементное сложение для повторяющихся массивов и обрежьте результат в каждой позиции, где есть разрез в любом из них.
A -> [0 3 2 2 8 4][0 3 2 2 8 4] B -> [7 8 7 2][ 7 8 7 2][7 8 7 2] -> [7 11 9 4][15 12][7 5][9 10 15 6]
Этот массив массивов - ваш результат.
Задание
Ваши входные данные представляют собой два непустых массива целых чисел, и ваши выходные данные должны быть результатом их сложения выравнивания, как определено выше. Входные и выходные данные могут быть в любом разумном формате. Вам не нужно беспокоиться о целочисленном переполнении при выполнении сложения.
Правила и оценки
Вы можете написать полную программу или функцию. Побеждает самое низкое число байтов.
Контрольные примеры
[1] [4] -> [[5]]
[1,2,-3,-4] [15] -> [[16],[17],[12],[11]]
[0,-4] [2,1,0,-3] -> [[2,-3],[0,-7]]
[0,3,2,2,8,4] [7,8,7,2] -> [[7,11,9,4],[15,12],[7,5],[9,10,15,6]]
[18,17,16] [-1,-2,-3,-4] -> [[17,15,13],[14],[16,14],[15,13],[15],[16,14,12]]
[18,17,16,15] [-1,-2,-3,-4] -> [[17,15,13,11]]
[1,1,1,1,1] [6,5,6,5,6,5,6,2,1] -> [[7,6,7,6,7],[6,7,3,2],[7],[6,7,6,7,6],[7,3,2],[7,6],[7,6,7,6,7],[3,2],[7,6,7],[6,7,6,7,3],[2],[7,6,7,6],[7,6,7,3,2]]
[1,1,1,1,1,1] [6,5,6,5,6,5,6,2,1] -> [[7,6,7,6,7,6],[7,3,2],[7,6,7],[6,7,6,7,3,2]]
[1,1,1,1,1,1,1] [6,5,6,5,6,5,6,2,1] -> [[7,6,7,6,7,6,7],[3,2],[7,6,7,6,7],[6,7,3,2],[7,6,7],[6,7,6,7,3,2],[7],[6,7,6,7,6,7,3],[2],[7,6,7,6,7,6],[7,3,2],[7,6,7,6],[7,6,7,3,2],[7,6],[7,6,7,6,7,3,2]]