L €€ CH € $! D € AṬH ỊṢ ỊṢOOṢ! (Längenzuordnung)


15

Der Titel ist ein gültiger Jelly Code, der die gleiche Ausgabe hat, L€€außer dass er zweimal gedruckt wurde.

Hintergrund

Sie können diesen Abschnitt überspringen, ohne die Fähigkeit zu verlieren, die Herausforderung abzuschließen

Einige Operationen in Jelly versuchen, das Argument zuerst in eine Liste zu konvertieren, bevor die Operation angewendet wird. Ein Beispiel ist die schnelle Zuordnung. Dies führt manchmal zu unbeabsichtigter Ausgabe.

Für das Programm L€und die Eingabe 5 versucht der Jelly-Interpreter, die Länge jedes Elements der Liste 5 zu ermitteln. Da 5 keine Liste ist, konvertiert Jelly es in die Liste [1,2,3,4,5]. Dann wird die Länge jedes Elements ausgegeben: [1,1,1,1,1]. Beachten Sie, dass jede Ganzzahl Länge hat 1. Wenn zB 10vorhanden wäre, würde es 1nicht 2(die Länge in Ziffern).

Für das Programm L€€und die Eingabe 5 versucht der Jelly-Interpreter, die Länge jedes Elements jedes Elements der Liste 5 zu ermitteln. Da 5 keine Liste ist, konvertiert Jelly sie in die Liste [1,2,3,4,5]. Nun versucht der Interpreter, die Länge jedes Elements jedes Elements der Liste zu ermitteln [1,2,3,4,5]. Jedes Element ist keine Liste, so Jelly wandelt sie in Listen auf die gleiche Weise: [[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]. Die Länge jedes Unterelements wird ausgegeben als[[1],[1,1],[1,1,1],[1,1,1,1],[1,1,1,1,1]]

Aufgabe

Ihre Aufgabe ist es, die Ausgabe des Jelly-Programms zu finden, Lgefolgt von mehrmaligen aEingaben b, wobei aund bpositive ganze Zahlen den Eingaben Ihres Programms / Ihrer Funktion entsprechen.

Ein Weg dies zu tun ist:

Beginnen Sie mit der Eingabe bwie folgt a:

  • Ersetzen Sie für jede vom Programm angezeigte Ganzzahl diese durch den Bereich der Ganzzahl (wo range(x) := [1,2,3,...,x-1,x]).

Ersetzen Sie abschließend jede Ganzzahl durch 1.

Testfälle

a
b
output
- - - - -
1
1
[1]
- - - - -
1
2
[1, 1]
- - - - -
1
3
[1, 1, 1]
- - - - -
1
4
[1, 1, 1, 1]
- - - - -
1
5
[1, 1, 1, 1, 1]
- - - - -
1
6
[1, 1, 1, 1, 1, 1]
- - - - -
2
1
[[1]]
- - - - -
2
2
[[1], [1, 1]]
- - - - -
2
3
[[1], [1, 1], [1, 1, 1]]
- - - - -
2
4
[[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]
- - - - -
2
5
[[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]
- - - - -
2
6
[[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]
- - - - -
3
1
[[[1]]]
- - - - -
3
2
[[[1]], [[1], [1, 1]]]
- - - - -
3
3
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]
- - - - -
3
4
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]
- - - - -
3
5
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]
- - - - -
3
6
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]
- - - - -
4
1
[[[[1]]]]
- - - - -
4
2
[[[[1]]], [[[1]], [[1], [1, 1]]]]
- - - - -
4
3
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]
- - - - -
4
4
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]
- - - - -
4
5
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]
- - - - -
4
6
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]]
- - - - -
5
1
[[[[[1]]]]]
- - - - -
5
2
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]]
- - - - -
5
3
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]]
- - - - -
5
4
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]]
- - - - -
5
5
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]]
- - - - -
5
6
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]]]
- - - - -
6
1
[[[[[[1]]]]]]
- - - - -
6
2
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]]]
- - - - -
6
3
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]]]
- - - - -
6
4
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]]]
- - - - -
6
5
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]]]
- - - - -
6
6
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]]]]

Regeln

  • aund bsind auf positive ganze Zahlen beschränkt
  • Ihr Programm oder Funktion kann nehmen aund bin beliebiger Reihenfolge und in jedem Standard - Eingabeformat
  • Die Ausgabe sollte eine Tiefenliste oder eine Zeichenfolgendarstellung einer solchen Liste sein
  • Die Ausgabe sollte über ein beliebiges Standardausgabeformat erfolgen.
  • Das ist , also gewinnt der kürzeste Code in jeder Sprache !

Ich würde Builtins, die einen String als Jelly-Code auswerten, nicht zulassen. (Sieh dich an, Jelly)
Stephen

@StepHen Die Erstellung des Strings benötigt im Vergleich zur Wiederholung der Range-Funktion zu viele Bytes, sodass ich die Möglichkeit zum Auswerten wie zulässig belassen werde.
fireflame241

Feststellung: Die Länge einer Ganzzahl ist 1nicht die Länge ihrer Dezimalerweiterung?
Titus

@Titus Ja. Ich werde dies in der Frage klären.
Fireflame241

1
Der Titel kann L€€CH!DṬHỊṢṄ!(oder vielleicht L€€Ṅ) auch ...
Erik the Outgolfer

Antworten:


13

Gelee , 3 Bytes

R¡Ṡ

Probieren Sie es online!

Nimmt die Eingabe in umgekehrter Reihenfolge vor.
-2 bytes dank fireflame.
-1 Byte dank Dennis

Erläuterung

R¡Ṡ  Main link
 ¡   Repeat <first argument> times
R    Range (generates range, and vectorizes on lists)
  Ṡ  Sign (converts all numbers to 1 because they are all positive)

3
Sie können implizite Eingaben verwenden, indem Sie Argumente in umgekehrter Reihenfolge entfernen und verwenden.
Fireflame241

@ fireflame241 oh ok danke! -2 Bytes dann durch Entfernen der ^3auch
HyperNeutrino

5
Sie können das Zeichenatom anstelle des Formens verwenden.
Dennis

Natürlich wäre Jelly hier unschlagbar ...
Erik the Outgolfer

@Erik Stimmt, aber ich bin überrascht, dass in dieser Lösung weder Lnoch erscheint.
Mario Carneiro

11

Python 2 , 49 Bytes

-1 Danke an Jonathan Allan

f=lambda a,b:1>>a or[0]*b and f(a,b-1)+[f(a-1,b)]

Probieren Sie es online!

Dieses Problem schien als könnte es in Form einer doppelt rekursiven Funktion geschrieben werden, bei der von jedem Parameter eine subtrahiert wird. Die Schlüsselidee ist, dass die Sequenz wie folgt in Beziehung gesetzt werden kann:

f(0,b) = 1
f(a,0) = []
f(a,b) = f(a,b-1) + [f(a-1,b)]

Das Schreiben einer 1solchen rekursiven Funktion ist jedoch ziemlich schwierig, da es sich um einen Wahrheitswert und einen falschen Wert []handelt. Daher benötigen wir zwei kurzschließende Schlüsselwörter ( andund or).

Eine weniger golfene Version könnte so aussehen:

lambda a,b:int(a<1)or[1,[]][b<1]and f(a,b-1)+[f(a-1,b)]

Wir können jedoch den Trick verwenden, der 1>>aergibt, 1wenn a Null ist, und 0andernfalls, und damit einen Wahrheitswert if b>0und eine leere Liste zurückgeben [0]*b.


1
Speichern Sie eine mit or[0]*b andanstelle von or[0][:b]and.
Jonathan Allan

9

Mathematica, 17 Bytes

1^Range~Nest~##&

Nimmt bdann a.

Probieren Sie es auf Wolfram Sandbox

Wie?

1^Range~Nest~##&

  Range             (* Range function; generates {1..<input>} *)
       ~Nest~##     (* Apply it on <input 1> <input 2> times *)
                    (* Mathematica automatically maps Range onto integers *)
1^                  (* Raise those to the exponent of 1; make everything 1 *)

Verwendung

1^Range~Nest~##&[4, 2]

{{1}, {1, 1}, {1, 1, 1}, {1, 1, 1, 1}}


4

Gaia , 7 Bytes

ẏ¦”@)⊃e

Probieren Sie es online!

ẏ¦macht hier ungefähr dasselbe wie L€in Jelly. ist "ist positiv?" und ¦ist map, das vor dem Mapping implizit eine ganze Zahl in den Bereich 1 .. n umwandelt. Und da es sich nur um Ganzzahlen> = 1 handelt, ergibt sich 1für jede.

ẏ¦”      Push the string "ẏ¦"
   @)    Push the first input+1
     ⊃   Repeat the last character of the string until it's input+1 characters long.
      e  Eval it.


3

PHP, 134 Bytes

for($r=[$argv[2]];$argv[1]--;)($w=array_walk_recursive)($r,function(&$n){$n=range(1,$n);});$w($r,function(&$n){$n=1;});print_r($r[0]);

Es gibt vielleicht einen kürzeren Ansatz als den wörtlichen ... aber er funktioniert zumindest.

Laufen Sie mit -nrund liefern Sie aund bals Argumente oder versuchen Sie es online .


Verwenden Sie für die Ausgabe wie in den Beispielen echo strtr(preg_replace('#"\d":#','',json_encode($r[0],JSON_NUMERIC_CHECK)),"{}","[]");(wie im TiO) anstelle von print_r($r[0]);.


3

JavaScript (ES6), 95 Byte

f=(a,b,r=/\d+/g)=>a--?f(a,b.replace(r,s=>`[${[...Array(+s)].map((_,i)=>++i)}]`)):b.replace(r,1)
<div oninput=o.textContent=f(a.value,b.value)><input type=number min=0 value=0 id=a><input type=number min=0 value=0 id=b><pre wrap id=o>1

I / O ist mit Strings. Das Beste, was ich nicht rekursiv machen konnte, waren 100 Bytes:

(a,b)=>[...Array(-~a)].reduce(r=>r.replace(/\d+/g,a--?s=>`[${[...Array(+s)].map((_,i)=>++i)}]`:1),b)

3

Brachylog , 21 Bytes

,1{t+₁I&⟦₁ᵐ⁾;I}ⁱ⁽ṡᵐ⁾c

Probieren Sie es online!

Konzeptionell einfach, aber es nimmt fast die Hälfte der Bytes ein , den Überblick über die richtige Ebene zu behalten, um das Prädikat 'range' abzubilden . :(

                 % Implicit input, list [a, b]
,1               % Append iteration index 1 to the list
{           }ⁱ⁽  % Do this iteratively a times, with [b, i] as the initial input
 t+₁I            % Increment iteration index, let this be I
     &⟦₁ᵐ⁾       % Map the "range from 1 to input" predicate on the first part of input
                 %   (b in the first iteration), at depth given by (old) iteration index
          ;I     % Append the incremented index to this, this is the input to next iteration
ṡᵐ⁾              % Take the sign of each element, mapped at depth given by final I
c                % "Concatenate" to remove extra surrounding array

Und eine rekursive Lösung, nur zum Teufel:

24 Bytes

{t0&hṡᵐ|t-₁L&h⟦₁ᵐ;Lz↰ᵐ}c

Probieren Sie es online!


1

Gelee , 12 Bytes

⁴Ṿ;”L;”€ẋ³¤V

Probieren Sie es online!

Nur um die Dinge in Gang zu bringen. Ich bin mir ziemlich sicher, dass es kürzer wäre, wenn ich es tatsächlich so machen würde, wie ich es sollte, also arbeite ich daran (inb4 ninja'd by someone)

Erläuterung

⁴Ṿ;”L;”€ẋ³¤V  Main link
 Ṿ            Generate Jelly code that will evaluate to
⁴             The second input
  ;           Concatenate with
   ”L         "L"
     ;        Concatenate with
      ”€ẋ³¤   Niladic Expression
      ”€      "€"
        ẋ     Repeated                times
         ³             <first input>
           V  Jelly-eval it
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.