Herausforderung
Erstellen Sie bei einer Folge nicht negativer Ganzzahlen eine Funktion, die eine untergeordnete Pyramide ausgibt, in der die untergeordneten Elemente die Summe beider übergeordneter Zahlen sind.
Das Ergebnis wird als Zeichenfolge über die Registerkarte ausgegeben \t
.
Hinweis: Nachgestellte Registerkarten in jeder Zeile sind nicht erforderlich
1\t\t2\t\t3\n\t3\t\t5\t\n\t\t8\t\t results in
1 2 3
3 5
8
Optional kann das Ergebnis als Array ausgegeben werden, wobei eine leere Position als Leerzeichen verwendet wird.
[[1,,2,,3],
[,3,,5,],
[,,8,,]]
Beispiel:
Gegebene 4,5,7,3,4,2
Ausgabe:
4 5 7 3 4 2
9 12 10 7 6
21 22 17 13
43 39 30
82 69
151
Regeln
- Standard Code-Golfregeln gelten
- Die Eingabe kann eine Zeichenfolge sein, die ein beliebiges Trennzeichen oder ein Array verwendet
- Führende / nachfolgende Zeilenumbrüche und Tabulatoren sind zulässig (jedoch nicht erforderlich, solange die Ausgabe eine umgekehrte Pyramide ist).
Testfälle
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,,]]
Das Gewinnkriterium ist Code-Golf
Hinweis: Diese Herausforderung liegt sehr nahe am Pascal-Dreieck . Der Unterschied ist die benutzerdefinierte Startsequenz (Pascal geht von 1 und im aufsteigenden Modus, dies von einer Eingabe und im absteigenden Modus).
non-negative integers
müssen wir damit umgehen0
? Es gibt einige Golfmöglichkeiten, wenn leere Räume mit0
s gefüllt sind .Antworten:
APL (Dyalog Unicode) ,
3128 Byte SBCSStillschweigende Präfixfunktion. Verwendet ein einzelnes Leerzeichen als leere Steckplatzmarkierung. Gibt eine Liste mit Listen mit Zahlen / Leerzeichen zurück.
Probieren Sie es online aus!
⍳∘≢{
...}¨⊂
gelten die folgende Funktion für jede⍳
der ɩ ndices∘
von≢
Tally mit⊂
dem gesamten Argumente:⊢⍵
das richtige Argument liefern (die ursprüngliche Eingabe)2+/⍣⍺
Wenden Sie die paarweise Summe so oft an, wie im linken Argument angegeben,∘' '¨
Fügen Sie jeder Zahl ein Leerzeichen hinzu(
…),
Fügen Sie das an Folgendes an:⍺⍴''
Elemente des linken Arguments der leeren Zeichenfolge (mit Leerzeichen aufgefüllt)∊
ϵ nlist (abflachen)quelle
05AB1E , 15 Bytes
Probieren Sie es online aus!
quelle
Wolfram Language (Mathematica) , 74 Bytes
Probieren Sie es online aus!
quelle
Gelee ,
1413 Bytes14 -> 13 setzt voraus, dass in der Ausgabe des Listenformats nur nachgestellte Leerzeichen zulässig sind. wenn nicht, werde ich auf die 14 zurückgreifen ( gefragt )
Eine monadische Verbindung. Die Ausgabe ist eine Liste von Listen, in denen Leerzeichen als Leerzeichen verwendet werden (einschließlich eines einzelnen Eintrags nur für nachgestellte Leerzeichen).
Probieren Sie es online aus! (Enthält eine Fußzeile zum Anzeigen der Listenstruktur, da das Ausführen des monadischen Links als vollständiges Programm implizit die zerschlagene Ausgabe druckt.)
quelle
Schale , 22 Bytes
Probieren Sie es online aus!
Erläuterung
quelle
JavaScript (ES6), 73 Byte
Seltsamer Quellcode ... Wie auch immer, das ist Code-Golf !
Beinhaltet führende und nachfolgende Leerzeichen.
Probieren Sie es online aus!
quelle
Perl 5
-a
, 62 BytesProbieren Sie es online aus!
quelle
Python 3 ,
1019380 Bytes7 Bytes (
map(str,x)
anstelle vonfor in
und init y as''
) gespeichert und dank Jo King die nachfolgenden Zeilenumbrüche (x and[
anstelle vonprint(
) entfernt .Dank Ovs wurden 13 Bytes (
[*map(sum,zip(x,x[1:]))]
statt[x[j]+x[j+1]for j in range(len(x)-1)]
) gespeichert .Probieren Sie es online aus!
quelle
Netzhaut , 35 Bytes
Probieren Sie es online aus! Erläuterung:
Wiederholen, bis sich der Puffer nicht mehr ändert.
Drucken Sie den Inhalt des Puffers vor dem Ersetzen mit einem nachgestellten Zeilenumbruch und
Ersetzen Sie eine einzelne Zahl durch ein Paar Registerkarten, aber eine Zahl gefolgt von einer anderen Zahl durch eine Registerkarte, die Summe und eine andere Registerkarte.
quelle
C (Klirren) , 112 Bytes
Probieren Sie es online aus!
quelle
putchar(9)
stattprintf("\t")
Rot , 151 Bytes
Probieren Sie es online aus!
Besser lesbar:
quelle
Perl 6 ,
5048 BytesProbieren Sie es online aus!
Anonymer Codeblock, der eine Liste von Ganzzahlen aufnimmt und die invertierte Pyramide druckt.
quelle
C # (Visual C # Compiler) , 163 Byte
Probieren Sie es online aus!
Lesbar:
quelle
Japt
-Rx
,2018 BytesDie zweite Zeile enthält eine nachfolgende Registerkarte.
Versuch es
Erläuterung
quelle