Halloween Golf: Die 2spooky4me Challenge!


41

Ein aktuelles Internet-Mem ist die Eingabe von 2spooky4me, wobei eine zweite Person 3spooky5me eingibt und dem (n)spooky(n+2)meMuster folgt.

Ihre Mission ist es, dieses Muster in der von Ihnen gewählten Sprache zu implementieren. Sie sollten ein Programm oder eine Funktion schreiben, die einen Wert n(von der Standardeingabe, als Funktionsargument oder als nächstgelegene Alternative) und die Zeichenfolge (n)spooky(n+2)me(ohne Klammern) als Rückgabewert für eine Funktion oder als nächstgelegene Alternative an die Standardausgabe ausgibt ).

Ihre Lösung sollte für alle Eingaben funktionieren, von 1bis zu 2 unter dem maximal darstellbaren Ganzzahlwert Ihrer Sprache ( 2^32-3z. B. für C auf einem 32-Bit-Computer).

Beispielimplementierung in Python:

def spooky(n):
    return "%dspooky%dme"%(n,n+2)

spooky(2) -> "2spooky4me"

Das ist , also sind Standard-Schlupflöcher verboten und die kürzeste Antwort in Bytes gewinnt!

Bestenliste

Das Stapel-Snippet am Ende dieses Beitrags generiert die Rangliste aus den Antworten a) als Liste der kürzesten Lösungen pro Sprache und b) als Gesamtrangliste.

Um sicherzustellen, dass Ihre Antwort angezeigt wird, beginnen Sie Ihre Antwort mit einer Überschrift. Verwenden Sie dazu die folgende Markdown-Vorlage:

## Language Name, N bytes

Wo Nist die Größe Ihres Beitrags? Wenn Sie Ihren Score zu verbessern, Sie können alte Rechnungen in der Überschrift halten, indem man sich durch das Anschlagen. Zum Beispiel:

## Ruby, <s>104</s> <s>101</s> 96 bytes

Wenn Sie mehrere Zahlen in Ihre Kopfzeile aufnehmen möchten (z. B. weil Ihre Punktzahl die Summe von zwei Dateien ist oder wenn Sie die Strafen für Interpreter-Flags separat auflisten möchten), stellen Sie sicher, dass die tatsächliche Punktzahl die letzte Zahl in der Kopfzeile ist:

## Perl, 43 + 2 (-p flag) = 45 bytes

Sie können den Namen der Sprache auch als Link festlegen, der dann im Snippet angezeigt wird:

## [><>](http://esolangs.org/wiki/Fish), 121 bytes


2
Für Bonuspunkte: Geben Sie ein %dspooky%dme, bestätigen Sie und kehren Sie als Nächstes in Serie zurück.
klatschen


7
Wer ist Dennis? : O
NuWin

10
@NuWin Dennis ist der Weg. Dennis ist das Licht.
Alex A.

1
@NuWin Dennis ist Liebe, Dennis ist Leben

Antworten:


44

gs2, 15 bytes

Ich habe Dennis übertroffen!

CP437:

spooky•me♣╨V↕0B

Hex-Dump:

73 70 6f 6f 6b 79 07 6d 65 05 d0 56 12 30 42

Zu Beginn des Programms wird STDIN gedrückt (zB der String "3") und in Variable gespeichert A. Die ersten zehn Bytes des Programms verschieben zwei Zeichenfolgen "spooky"und "me"in den Stapel. Dann:

  • d0drückt variabel A.
  • 56 parst es als Zahl.
  • 12 30 erhöht es um zwei.
  • 42tauscht die obersten zwei Elemente auf dem Stapel aus und verlässt sie "3" "spooky" 5 "me".

Der letzte Stapel wird gedruckt als 3spooky5me.


4
Heilige Hölle, das ist kurz. +1
Addison Crump

11
GJ, aber Dennis könnte hierher kommen und dich überholen, um seinen Ruf zu wahren.
TheDoctor

7
Was, nein wie, wie hast du das gemacht
ein Spaghetto

3
Mir ist gerade klar geworden ... steht gs2 für "golf script 2"?
mbomb007

5
Übrigens habe ich meiner Familie von Online-Dolmetschern GS2 hinzugefügt. Probieren Sie es online aus!
Dennis


24

Feststecken, 17 Bytes

i_2+"spooky";"me"

EDIT: Ich glaube, Sie könnten sagen, ich stecke bei 17 Bytes fest


1
Hey cool, jemand, der tatsächlich Stuck verwendet: D
Kade

@Shebang Ich mag eigentlich wirklich Stuck. Obwohl es schön wäre, wenn es einige bessere Methoden zum Manipulieren von Arrays geben würde.
ein Spaghetto

21

GolfScript, 17 Bytes

~.2+"spooky"\"me"

Probieren Sie es online im Web GolfScript aus .

Wie es funktioniert

~        # Evaluate the input.
.2+      # Push a copy and add 2.
"spooky" # Push that string.
\        # Swap it with the computed sum.
"me"     # Push that string.



10

Chef, 414 Bytes

S.

Ingredients.
g i
2 g t
115 l s
112 l p
111 l o
107 l k
121 l y
109 l m
101 l e

Method.
Take i from refrigerator.Put e into mixing bowl.Put m into mixing bowl.Put i into mixing bowl.Add t.Put y into mixing bowl.Put k into mixing bowl.Put o into mixing bowl.Put o into mixing bowl.Put p into mixing bowl.Put s into mixing bowl.Put i into mixing bowl.Pour contents of mixing bowl into the baking dish.

Serves 1.

Ein Rezept für eine Katastrophe. Versuche das nicht Zuhause.


6
Mm. Das sind ein paar gruselige Sachen, die du dort bekommen hast.
Addison Crump

9

TeaScript, 18 Bytes

x+`spooky${x+2}me`

Leider kann diese Zeichenfolge nicht komprimiert werden, sodass sie im Grunde genommen so kurz wie möglich ist


12
Willkommen zum 18. Byte! : P
ein Spaghetto

9

Pip, 18 Bytes

Sieht so aus, als wäre ich hier in der zweiten Klasse der Golfsprachen. : ^ P

[a"spooky"a+2"me"]

Nimmt die Zahl als Befehlszeilenargument und fügt die entsprechenden Elemente in ein Array ein, das zusammengefügt und am Ende des Programms automatisch gedruckt wird.



8

Japt, 17 16 Bytes

U+"spooky{U+2}me

Japt ( Ja vascri pt gekürzt) ist eine Sprache meiner Erfindung. Es ist neuer als diese Herausforderung; Somit ist diese Antwort nicht konkurrierend. Im Gegensatz zu meinen anderen sieben unveröffentlichten Sprachen verfügt diese über einen aktuellen Dolmetscher , der derzeit entwickelt wird und teilweise bereits funktioniert.

Ich wollte dies posten, weil es mir gefällt, wie lang alle vorhandenen Antworten auf den ersten Platz und den zweiten Platz sind. So funktioniert das:

U+"spooky{U+2}me"    implicit: [U,V,W,X,Y,Z] = eval(input)
U+                   input +
  "spooky     me"     this string
         {U+2}         with input+2 inserted here
                     implicit: output last expression

Und da hast du es. Die Spezifikation für alle hier verwendeten Funktionen wurde am 29. Oktober fertiggestellt. nichts wurde geändert, um diese Antwort zu verkürzen. Hier ist der Dolmetscher , wie versprochen.


Ich bin sicher, das war Pre-Shoco, aber ich denke, du hättest es tun können, {U}2meanstatt {U+2}me: P
Oliver

7

Gol> <> , 21 Bytes

I:n"emykoops"6Ro{2+nH

Ich glaube, ich bin ... mit Perl verbunden? Probieren Sie es online aus .

I:n            Input n, output n
"emykoops"     Push chars
6Ro            Output top 6 chars (spooky)
{2+n           Output n+2
H              Output stack and halt (me)

7

Vitsy, 21 Bytes

Hinweis: Der ZBefehl wurde nach Beginn dieser Herausforderung erstellt, wurde jedoch nicht für diese Herausforderung erstellt.

VVN ykoops ZV2 + N em Z
V Nehmen Sie das oberste Element des Stapels (die Eingabe) und machen Sie es zu einem
                       Globale Variable.
 V Call it up - Schieben Sie die globale Variable an die Spitze des Stapels.
  N Geben Sie es als Zahl aus.
   "ykoops" Drücke "spooky" auf den Stapel.
           Z Alles ausgeben.
            V2 + N Rufen Sie die globale Variable erneut auf, addieren Sie zwei und geben Sie sie als num aus.
                "em" Z Schiebe mich zum Stapel und gebe alles aus.

Mehr spoopy Variation mit mehreren Stapeln (27 Bytes):

& "ykoops" & "em" DN Z 2 + N Z

& Erstelle einen neuen Stapel und gehe dorthin.
 "ykoops" Drücke "spooky" auf den aktuellen Stapel.
         & "em" Mach das Letzte mit 'mir'.
              ? Bewegen Sie sich über einen Stapel.
               DN Ausgabe der Eingabe.
                 Z Bewegen Sie sich über einen Stapel (der mit "gruselig") und drucken Sie ihn aus.
                   ?? Gehen Sie zurück zum ursprünglichen Stapel.
                     2 + N Addiere 2 zu der Eingabe und gib sie als Zahl aus.
                        ?? Z Gehen Sie zum Stapel mit "Ich" und drucken Sie ihn aus.

Probieren Sie es online!


Ich frage mich nur, warum die Saiten vertauscht sind.
Cyoce

Es drückt Zeichen nacheinander auf den Stapel.
Soham Chowdhury

6

Julia, 23 Bytes

n->"$(n)spooky$(n+2)me"

Dadurch wird eine unbenannte Lambda-Funktion erstellt, die eine Ganzzahl akzeptiert und eine Zeichenfolge zurückgibt. Die Ausgabe wird mithilfe von Julias String-Interpolation erstellt.


5

Ruby, 25 Bytes

->n{"#{n}spooky#{n+2}me"}

Dadurch wird ein unbenanntes Lambda erstellt, das eine Ganzzahl akzeptiert und eine Zeichenfolge zurückgibt. Die Zeichenfolge wird mit Rubys Zeichenfolgeninterpolation erstellt.


5

APL, 25 22 Bytes

⍕,'spooky','me',⍨∘⍕2+⊢

Dadurch wird ein unbenannter monadischer Funktionszug erstellt, der links eine Ganzzahl akzeptiert und eine Zeichenfolge zurückgibt.

Numerische Werte werden mithilfe von in Zeichenfolgen konvertiert . Das Array von Zeichenfolgen wird mithilfe von zu einer einzelnen Zeichenfolge verbunden .

Probieren Sie es online aus

3 Bytes gespart dank Thomas Kwa!


5

Javascript (ES6) 23 21 Bytes

Eine einfache Funktion, die von Golfplätzen zerstört wird:

_=>_+`spooky${_+2}me` 

_=>`${_}spooky${_+2}me`

Besonderer Dank geht an ETHproductions für die Einsparung von 2 Bytes


NOICE! Möglicherweise können Sie die Vorlagenzeichenfolgen kürzen, aber mir
fällt dazu

Zwei Bytes gespart:_=>_+`spooky${_+2}me`
ETHproductions 31.10.15

Danke, aber jetzt scheint die Lösung so offensichtlich, dass ich mich dumm fühle. Ich denke, dies ist der kürzest mögliche Weg, dies in Javascript zu tun. Ich könnte mich irren (ich hoffe, ich irre mich)
Generischer Benutzer

5

05AB1E, 14 10 Bytes

DÌs’ÿæªÿme

Probieren Sie es online aus.

Die Konkurrenzlosigkeit seit 05AB1E ist neuer als diese Herausforderung.

Erläuterung

DÌs’ÿæªÿme

D                get input n and duplicate it
 Ì               increment by 2
  s              Swap. Stack is now [n+2, n].
   ’ÿæªÿme       Compressed string that expands to "ÿspookyÿme". The first ÿ is then replaced by n and the second by n+2.

2
Dies scheint Dfür 9 Bytes entfernt zu funktionieren
dzaima

4

PHP, 55 47 46 42 34 Bytes

<?=($a=$argv[1]).spooky.($a+2).me;

Übernimmt die Nummer als Kommandozeilen-Eingabe.

Credits :)

Danke an manatwork für die Einsparung von 4 Bytes!

Danke an insertusernamehere für die Einsparung von 8 Bytes!


function a($a){echo$a,"spooky",$a+2,"me";}
Manatwork

Sie könnten 4 Bytes sparen, indem Sie das s entfernen . Man könnte sogar sparen 4 weitere Bytes durch eine Befehlszeilenargument zu nehmen und die Funktion verwerfen, wie folgt aus : . " <?=($a=$argv[1]).spooky.($a+2).me;
insertusernamehere

4

Chaîne , 15 Bytes

nicht konkurrierende, sprachliche Postdates-Frage

{i~}:-,}:{2+}me
{i~}            | input duplicate write
    :   :       | access dictionary with inner base-93 key
     -,}        | entry for "spooky"
         {2+}   | push 2, add previous two, write
             me | write me

Implizite Ausgabe.


Die Ausgabe ist `Spookyme 4 2" (Newline getrennt)
Fabian Schmengler

@fschmengler Ich muss beim Aktualisieren des Interpreters etwas durcheinander gebracht haben. Bitte stehen Sie bereit.
Conor O'Brien,

@fschmengler Okay, Fehler wurden behoben. Es sollte jetzt funktionieren.
Conor O'Brien,


3

Simplex v.0.7 , 20 Bytes

Simplex fühlt sich heute einfach nicht golfen. > _ <

i@R"spooky"&IIR"me"g
i@                   ~~ take input and copy to register
  R"spooky"          ~~ write that string to the strip (increment byte after every character)
           &II       ~~ write the register (incremented twice) to the strip
              R"me"  ~~ write that string to the strip
                   g ~~ output the strip

Du hast immer noch Vitsy besiegt. oo
Addison Crump

@VoteToClose Fühle dich nicht so schlecht. Die letzte Simplex-Version hatte ungefähr 25 Zeichen. In beiden Fällen kommen 20 oder 21 Bytes nicht nahe an 17; -;
Conor O'Brien


1
@VoteToClose Was hast du erwartet? Er ist ein Mod XD
Conor O'Brien

3
Wir müssen dies der Meme-Liste hinzufügen .
Addison Crump

3

C 58 Bytes

main(a,b)char**b;{printf("%sspooky%dme",*++b,atoi(*b)+2);}

atoi() kann unnötig sein.


1. Scheitert an meiner gcc, da es auf Bewertungsreihenfolge ankommt. 2. Speichern Sie ein Byte mit int**b.
Ugoren

3

Mathematica, 45 27 Bytes

Print[#,"spooky",#+2,"me"]&

g=ToString[#]<>"spooky"<>ToString[#+2]<>"me"&

Vielen Dank an Martin Büttner für die deutliche Verbesserung (und den herzlichen Empfang).


2
Willkommen bei PPCG! Unbenannte Funktionen sind in Ordnung, daher brauchen Sie die nicht, g=und ich denke, sie Print[#,"spooky",#+2,"me"]&sollten auch funktionieren. :)
Martin Ender

Was ist Row@{#,spooky,#+2,me}&? Die Ausgabe ist optisch ähnlich, wenn die Variablen nicht definiert sind.
2012rcampion

3

Minkolang 0,10 , 49 Bytes

Ich habe (noch!) Keine Möglichkeit, Ganzzahlen in Zeichenfolgen umzuwandeln, das ist also viel länger.

"me"nd2+(dl%"0"+$rl:d)"spooky"2g(dl%"0"+$rl:d)$O.

Probieren Sie es hier aus.

Erläuterung

(dl%"0"+$rl:d)erledigt die Konvertierung eines Int in einen String. Wenn dies durch ein einzelnes Zeichen (wie Z) ersetzt würde, wäre meine Lösung nur 23 Bytes .

"me"nd2+Z"spooky"2gZ$O.

ndNimmt eine Ganzzahl aus der Eingabe und dupliziert sie. 2+addiert 2 und 2gerhält später die anfängliche Eingabe und legt sie oben auf den Stapel. $O.gibt den gesamten Stack als Ganzzahl aus und stoppt.


Sicherlich ist es kürzer, die Zahlen nur als Zahlen auszugeben?
Sp3000,

Bei der Ausgabe als Nummer wird der Ausgabe automatisch ein Leerzeichen hinzugefügt. Also wäre es "2 spooky4 me".
El'endia Starman

3

Lua für Windows, 41 Bytes

n=io.read()print(n.."spooky"..n+2 .."me")

test mit lua für windows

es nimmt die Eingabe durch io.read und speichert sie in Variable n und gibt dann in derselben Zeile die Variable n aus, dann "gruselig", dann n + 2 und schließlich gibt es "mich" aus


1
Leerzeichen entfernen und Bytes speichernn=io.read()print(n.."spooky"..n+2.."me")
Digital Veer

1
@DigitalVeer - Ohne das Leerzeichen 2.wird als Zahl behandelt.
Egor Skriptunoff

p.lua: print(.....'spooky'.. ...+2 ..'me') How to run: lua51.exe p.lua 2Größe = 35 Bytes.
Egor Skriptunoff

3

Rotor, 15 Bytes

&"spooky"~2+"me

Sprache wurde nach der Herausforderung erstellt. Funktioniert nicht im Online-Interpreter (verwendet die Eingabeauswertung.)


Verdammter Sohn. Du hast Dennis überrumpelt. Endlich. Hurra!
Addison Crump

1
Für mich ist der Rotor tot. Versuchen Sie bitte nicht, ihn wiederzubeleben.
ein Spaghetto

1
Gute Arbeit, auch in Rotor !! Sie sollten es mit Leben belohnen.
22.

3

Cookie , 16 Bytes (nicht konkurrierend)

Beachten Sie, dass die letzten Änderungen an der Github-Seite nicht für diese Herausforderung vorgenommen wurden. Cookie befindet sich noch in der Entwicklung.

wŕspooky[r+2]me"

Erläuterung:

wŕspooky[r+2]me"
w                 start write command
 ŕ                take input
  spooky          write spooky
        [r+2]     compute input + 2
             me   write me
               "  close write command.

@Mego Warum hast du nicht konkurrierende hinzugefügt? Nur Fragen.

Die Sprache wurde 5 Monate nach dem Absenden der Challenge erstellt.
Mego

@Mego Wusste nichts über dieses System. Danke, dass du mich aufgeklärt hast;)

Froh, dass ich Helfen kann. Wenn eine Einsendung gültig ist, die verwendete Sprache (n) / Funktion (en) jedoch vor dem Absenden der Challenge (entweder auf der Haupt- oder in der Sandbox) nicht vorhanden war (sind), muss sie als nicht teilnehmend markiert werden, es sei denn, die Mit challenge können speziell neuere Sprachen / Funktionen konkurrieren.
Mego

Richtig. Das macht Sinn.

3

Gelee, nicht konkurrierend

13 bytes Diese Antwort ist nicht konkurrierend, da die Herausforderung vor der Erstellung von Jelly liegt.

+0,2ż“×¥X“ŀ`»

Ich kann nicht QUARTATA HILFE OUTGOLFEN

Probieren Sie es online!

Wie es funktioniert

+0,2ż“×¥X“ŀ`»  Main link. Input: n

+0,2           Add [0, 2] to n, resulting in [n, n + 2].
     “×¥X“ŀ`»  Yield ['spooky, 'me'] by indexing into a dictionary.
    ż          Zip the results to left and right with each other.
               This yields [[n, 'spooky'], [n + 2, 'me']], which is flattened
               before printing.

7
Man kann nicht einfach outgolf ... quartata?
Arcturus

Ich kann nicht scheinen, Quartata zu übertreffen, aber da die Antwort nicht konkurrierend ist, kann ich etwas Hilfe geben. +2ṭż“×¥X“ŀ`»
Erik der Outgolfer

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.