Wprowadzenie
Rozważ dwie niepuste tablice liczb całkowitych, powiedzmy A = [0 3 2 2 8 4] i B = [7 8 7 2] . Aby wykonać na nich dodanie wyrównania , wykonujemy następujące czynności:
Powtórz każdą tablicę tyle razy, aby mieć całkowitą długość lcm (długość (A), długość (B)) . Tutaj lcm oznacza najniższą wspólną wielokrotność.
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]
Wykonaj elementowe dodawanie na powtarzanych tablicach i wytnij wynik w każdej pozycji, w której znajduje się cięcie w każdym z nich.
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]
Ta tablica tablic jest twoim rezultatem.
Zadanie
Twoje dane wejściowe to dwie niepuste tablice liczb całkowitych, a dane wyjściowe będą wynikiem dodania ich wyrównania, jak zdefiniowano powyżej. Wejścia i wyjścia mogą mieć dowolny rozsądny format. Podczas dodawania nie musisz się martwić o przepełnienie liczb całkowitych.
Zasady i punktacja
Możesz napisać pełny program lub funkcję. Wygrywa najniższa liczba bajtów.
Przypadki testowe
[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]]