Golfkette (Räuberfaden)

8

Dies ist eine Herausforderung für Polizisten und Räuber. Den Thread der Cops finden Sie hier .

Die Cops haben drei Aufgaben.
1) Wählen Sie eine Sequenz aus dem OEIS .

2) Wählen Sie eine Sprache (dies wird als Golflang vorgeschlagen, muss es aber nicht sein), die bei Eingabe unter Verwendung aller üblichen Regeln nausgibt A(n)(wobei A(n)die Reihenfolge gewählt wird) . Rufen Sie diese Sprache L A und Code C A . Zum Beispiel Jelly und Jelly_code .

3) Wählen Sie dann eine andere Sprache (dies wird als Nicht-Golflang vorgeschlagen, muss es aber nicht sein) und schreiben Sie Code, der keinen Eingabe- und Ausgabecode C A akzeptiert, und befolgen Sie dabei alle üblichen Regeln. . (Anmerkung: dieser Code verschleiert werden kann und muss nicht unbedingt golfed werden, aber je länger dieser Code ist , desto leichter wird es für die Räuber Ihre Vorlage zu knacken)
Rufen Sie diese Sprache L B und Code C B .
Zum Beispiel Python und Python_code .

Das Vorbringen der Cop auf diese Herausforderung ist die Sequenz (angegeben , ob 0- oder 1-indexiert), der Name der beiden Sprachen L A und L B (und die löst man die Teil) und die Byte-Zählung C B nur. Halten Sie den tatsächlichen Code beider Teile und die Länge von C A geheim.

Die Räuber Herausforderung ist ein Cops' Eintrag und Schreibcode wählen C C in der gleichen L B Sprache , die gibt einige Codes in der gleichen L A Sprache, löst die ursprüngliche Aufgabe OEIS. Die Länge von C C kann nicht länger sein als die Länge von C B, wie vom Polizisten angegeben (obwohl sie kürzer sein kann). Hinweis: Der von C C erzeugte Code muss nicht mit C A übereinstimmen .

In unserem Beispiel bedeutet dies, dass der Robber Python- Code schreiben muss , der Jelly- Code ausgibt , der die ursprüngliche OEIS-Sequenz löst, und dass Python- Code nicht länger als die vom Cop angegebene Länge sein darf.

Gewinnbedingungen

Der Räuber mit den meisten geknackten Lösungen gewinnt.

AdmBorkBork
quelle

Antworten:

6

Brain-Flak , 90 Bytes von Mr. Xcoder

((((((((((()()()){}){}){({}[()])}{}())[(((()()()){})){}{}()]))){}{}()()())([][][]){})[][])

Probieren Sie es online aus!

Dies gibt aus:

ÑÉ·<O

Erste 05AB1E Antwort!

Wie funktioniert es?

Nehmen wir an, wir haben 24 als Eingabe.

Ñ       # Divisors. 
        # Stack: [1, 2, 3, 4, 6, 8, 12, 24]
 É      # Odd?
        # Stack: [1, 0, 1, 0, 0, 0, 0, 0]
  ·     # Double
        # Stack: [2, 0, 2, 0, 0, 0, 0, 0]
   <    # Decrement
        # Stack: [1, -1, 1, -1, -1, -1, -1, -1]
    O   # Sum
        # Stack: -4

Der Brain-Flak-Code verwendet meist nur Tricks, um große Zahlen in wenigen Bytes zu verschieben. Es war sehr praktisch (und unbeabsichtigt), dass die ASCII-Werte meistens zunehmen:

209
201
183
60
79

Es ist auch schön, 60 * 3 ~=~ 183dass durch Verdreifachen und Hinzufügen einiger weniger eine Menge Bytes eingespart werden können.

((((((

    # Push 79
    ((((()()()){}){}){({}[()])}{}())
    # Minus 19 (60)

    [(((()()()){})){}{}()])
    # Push that two extra times
    ))

    # Push that ^ (60) Plus the two extras popped (60 + 120 == 180)...
    {}{}
    # + 3 (183)
    ()()())

    # Plus stack-height * 3 * 2 == 3 * 3 * 2 == 18 (201)
    ([][][]){})

    # Plus stack-height * 2 == 4 * 2 == 8 (209)
    [][])
James
quelle
oh schön mein 05AB1E Programm war 8 Bytes. idk eines der 05AB1E Builtins / Achselzucken: P
HyperNeutrino
Hier ist 80
Ad-hoc-Garf Hunter
Hier ist 72
Ad-hoc-Garf Hunter
2

Gelee , 34 Bytes von Arnauld

Verwaltete ein Byte kürzer als seine Lösung!

“`Ḃ|⁴ʂⱮdÐỌK_ƬƬfıæh’ṃ“fnk1()+-,=>?:

Probieren Sie es online aus!

Dies gibt die JS-Funktion aus

f=(n,k=1)=>n>=k?f(n-k,k)+f(n,k+1):1>n

welches A000041 berechnet (0-indiziert; nn(0)kehrt trueanstelle von zurück 1).

ETH-Produktionen
quelle