Wyzwanie
Biorąc pod uwagę sekwencję liczb całkowitych nieujemnych, utwórz funkcję, która generuje potomną piramidę, w której dzieci są sumą obu liczb nadrzędnych.
Wynik jest wyprowadzany jako ciąg przy użyciu tabulacji \t
.
Uwaga: końcowe tabulatory w każdej linii nie są wymagane
1\t\t2\t\t3\n\t3\t\t5\t\n\t\t8\t\t results in
1 2 3
3 5
8
Opcjonalnie wynik może być wyprowadzony jako tablica z wykorzystaniem pustej pozycji jako spacji.
[[1,,2,,3],
[,3,,5,],
[,,8,,]]
Przykład:
Dane 4,5,7,3,4,2
wyjściowe:
4 5 7 3 4 2
9 12 10 7 6
21 22 17 13
43 39 30
82 69
151
Zasady
- Obowiązują standardowe zasady gry w golfa
- Dane wejściowe mogą być łańcuchem przy użyciu dowolnego separatora lub tablicy
- Wiodące / końcowe znaki nowej linii i tabulatory są dozwolone (ale nie są wymagane, o ile wynik jest odwróconą piramidą)
Przypadki testowe
Input: 1,3,5
1 3 5
4 8
12
Input: 9,8,7,6,5
9 8 7 6 5
17 15 13 11
32 28 24
60 52
112
Input: 5,5,2,5
[[5,,5,,2,,5],
[,10,,7,,7,],
[,,17,,14,,],
[,,,31,,,]]
Input: 3,3,3
[[3,,3,,3],
[,6,,6,],
[,,12,,]]
Kryterium wygranej jest kod-golf
Uwaga: To wyzwanie jest bardzo zbliżone do generowania trójkąta Pascala . Różnica polega na niestandardowej sekwencji początkowej (pascal przechodzi od 1 iw trybie wstępującym, to od wejścia i w trybie potomnym).
non-negative integers
czy musimy sobie poradzić0
? Istnieje kilka możliwości gry w golfa, jeśli puste miejsca są wypełnione0
s.Odpowiedzi:
APL (Dyalog Unicode) ,
3128 bajtów SBCSFunkcja ukrytego przedrostka. Używa pojedynczego miejsca jako znacznika pustego miejsca. Zwraca listę list liczb / spacji.
Wypróbuj online!
⍳∘≢{
...}¨⊂
zastosować poniżej funkcji dla każdego z⍳
tych ɩ ndices∘
z≢
tym zgadzają z⊂
całego argumentu:⊢⍵
podaj właściwy argument (oryginalne dane wejściowe)2+/⍣⍺
zastosuj sumę parowania tyle razy, ile wskazuje lewy argument,∘' '¨
dodaj spację do każdego numeru(
…),
Dołącz to do następujących elementów:⍺⍴''
lewy argument elementów pustego łańcucha (wypełniony spacjami)∊
ε nlist (spłaszczyć)źródło
05AB1E , 15 bajtów
Wypróbuj online!
źródło
Wolfram Language (Mathematica) , 74 bajty
Wypróbuj online!
źródło
Galaretka ,
1413 bajtów14 -> 13 zakłada, że na wyjściu formatu listy dozwolony jest tylko znak spacji; jeśli nie, wrócę do 14 ( zapytany )
Link monadyczny. Dane wyjściowe to lista list wykorzystujących spacje jako spacje (zawiera pojedynczy końcowy wpis tylko spacji).
Wypróbuj online! (zawiera stopkę pokazującą strukturę listy, ponieważ uruchomienie linku monadycznego, ponieważ pełny program niejawnie wydrukuje zniszczone dane wyjściowe).
źródło
Łuska , 22 bajty
Wypróbuj online!
Wyjaśnienie
źródło
JavaScript (ES6), 73 bajty
Dziwny kod źródłowy ... W każdym razie, to jest golf golfowy !
Obejmuje wiodące i końcowe białe znaki.
Wypróbuj online!
źródło
Perl 5
-a
, 62 bajtyWypróbuj online!
źródło
Python 3 ,
1019380 bajtówZaoszczędziłem 7 bajtów (
map(str,x)
zamiastfor in
i init as''
) i pozbyłem się nowych linii (x and[
zamiastprint(
) dzięki Jo Kingowi .Zaoszczędzono 13 bajtów (
[*map(sum,zip(x,x[1:]))]
zamiast[x[j]+x[j+1]for j in range(len(x)-1)]
) dzięki ovs .Wypróbuj online!
źródło
Siatkówka , 35 bajtów
Wypróbuj online! Wyjaśnienie:
Powtarzaj, aż bufor przestanie się zmieniać,
Wydrukuj zawartość bufora przed podstawieniem, z końcowym znakiem nowej linii i
Zastąp pojedynczy numer parą tabulatorów, ale liczbą, po której następuje kolejny numer, tabulator, sumę i inną tabulator.
źródło
C (brzęk) , 112 bajtów
Wypróbuj online!
źródło
putchar(9)
zamiastprintf("\t")
Czerwony , 151 bajtów
Wypróbuj online!
Bardziej czytelny:
źródło
Perl 6 ,
5048 bajtówWypróbuj online!
Anonimowy blok kodu, który pobiera listę liczb całkowitych i drukuje odwróconą piramidę.
źródło
C # (kompilator Visual C #) , 163 bajty
Wypróbuj online!
Czytelny:
źródło
Japt
-Rx
,2018 bajtówDrugi wiersz zawiera tabulator końcowy.
Spróbuj
Wyjaśnienie
źródło