Halloween Golf: O desafio 2spooky4me!

41

Um meme atual da Internet é digitar 2spooky4me, com uma segunda pessoa digitando 3spooky5me, seguindo o (n)spooky(n+2)mepadrão.

Sua missão é implementar esse padrão no idioma escolhido. Você deve escrever um programa ou função que use um valor n(da entrada padrão, como argumento da função ou alternativa mais próxima) e produza a string (n)spooky(n+2)me(sem parênteses; na saída padrão, como valor de retorno de uma função ou alternativa mais próxima) )

Sua solução deve funcionar para todas as entradas, de 1até 2 abaixo do valor inteiro máximo representável do seu idioma ( 2^32-3para C em uma máquina de 32 bits, por exemplo).

Exemplo de implementação em Python:

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

spooky(2) -> "2spooky4me"

Isso é , portanto , brechas comuns são proibidas e a resposta mais curta em bytes vence!

Entre os melhores

O snippet de pilha na parte inferior desta postagem gera o cabeçalho das respostas a) como uma lista da solução mais curta por idioma eb) como um cabeçalho geral.

Para garantir que sua resposta seja exibida, inicie-a com um título, usando o seguinte modelo de remarcação:

## Language Name, N bytes

onde Nestá o tamanho do seu envio. Se você melhorar sua pontuação, poderá manter as pontuações antigas no título, identificando-as. Por exemplo:

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

Se você quiser incluir vários números no cabeçalho (por exemplo, porque sua pontuação é a soma de dois arquivos ou você deseja listar as penalidades do sinalizador de intérpretes separadamente), verifique se a pontuação real é o último número no cabeçalho:

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

Você também pode transformar o nome do idioma em um link que será exibido no snippet:

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

Mego
fonte
2
Para pontos de bônus: Insira %dspooky%dme, valide e retorne em seguida na série.
clap
24
É verdade, mas Dennis ainda venceria
aplaudir
7
Quem é Dennis? : O
NuWin
10
@NuWin Dennis é o caminho. Dennis é a luz.
Alex A.
11
@NuWin Dennis é amor, Dennis é vida

Respostas:

44

gs2, 15 bytes

Eu superei Dennis!

CP437:

spooky•me♣╨V↕0B

Despejo hexagonal:

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

No início do programa, STDIN é pressionado (por exemplo, a string "3") e armazenado na variável A. Os primeiros dez bytes do programa enviam duas strings "spooky"e "me"para a pilha. Então:

  • d0empurra variável A.
  • 56 analisa como um número.
  • 12 30 aumenta em dois.
  • 42troca os dois principais elementos da pilha, saindo "3" "spooky" 5 "me".

A pilha final é impressa como 3spooky5me.

Lynn
fonte
4
Santo inferno, isso é curto. +1
Addison Crump
11
GJ, mas Dennis pode vir aqui e superar você para preservar a reputação dele.
TheDoctor
7
O que não como como você fez isso
um Spaghetto
3
Acabei de perceber ... gs2 significa "script de golfe 2"?
mbomb007
5
A propósito, adicionei o GS2 à minha família de intérpretes online, Experimente online!
Dennis
30

GS2, 17 bytes

56 40 27 27 04 73 70 6F 6F 6B 79 05 42 04 6D 65 05

NÃO PODE OUTGOLF DENNIS AJUDAR

um spaghetto
fonte
29
relevante
Downgoat 31/10/2015
3
Cara, é tão estranho que atualmente temos 4 idiomas empatou em primeiro e 3 idiomas empatado em segundo: P
ETHproductions
24

Preso, 17 bytes

i_2+"spooky";"me"

EDIT: Acho que você poderia dizer que estou preso aos 17 bytes

um spaghetto
fonte
11
Ei legal, alguém realmente usando Stuck: D
Kade
@ Shebang, eu realmente gosto do Stuck. Embora fosse bom se houvesse métodos melhores para manipular matrizes.
a spaghetto
21

GolfScript, 17 bytes

~.2+"spooky"\"me"

Experimente online no Web GolfScript .

Como funciona

~        # Evaluate the input.
.2+      # Push a copy and add 2.
"spooky" # Push that string.
\        # Swap it with the computed sum.
"me"     # Push that string.
Dennis
fonte
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.

Uma receita para o desastre. Não tente isso em casa.

um spaghetto
fonte
6
Milímetros. Esses são alguns gostos assustadores que você chegou lá.
Addison Crump #
9

TeaScript, 18 bytes

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

Infelizmente, essa string não pode ser compactada, portanto é basicamente o mais curto possível.

Downgoat
fonte
12
Bem-vindo ao 18º byte! : P
a spaghetto
9

Pip, 18 bytes

Parece que estou no segundo nível de idiomas de golfe aqui. : ^ P

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

Pega o número como um argumento de linha de comando e coloca os elementos apropriados em uma matriz, que é unida e impressa automaticamente no final do programa.

DLosc
fonte
8

dc, 20 bytes

?dn[spooky]P2+n[me]P
daniero
fonte
8

Japonês, 17 16 bytes

U+"spooky{U+2}me

Japt ( Ja vascri pt encurtado) é uma linguagem da minha invenção. É mais novo que esse desafio; portanto, essa resposta não é competitiva. Ao contrário das minhas outras sete línguas não publicadas, esta possui um intérprete real que está sendo desenvolvido e já está parcialmente funcionando.

Eu queria postar isso porque gosto de ter o mesmo tamanho de todas as respostas existentes do primeiro lugar do segundo lugar. Veja como funciona:

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

E aí está. As especificações para todas as funcionalidades usadas aqui foram finalizadas em 29 de outubro; nada foi alterado para tornar essa resposta mais curta. Aqui está o intérprete , como prometido.

ETHproductions
fonte
Tenho certeza que isso foi pré-Shoco, mas eu acho que você poderia ter feito {U}2meem vez de {U+2}me: P
Oliver
7

Gol> <> , 21 bytes

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

Acho que estou ... amarrado com Perl? Experimente online .

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)
Sp3000
fonte
7

Vitsy, 21 bytes

Nota: o Zcomando foi feito após o início desse desafio, mas não foi feito para esse desafio.

VVN "ykoops" ZV2 + N "em" Z
V Pegue o item superior da pilha (a entrada) e faça dele um
                       variável global.
 V Ligue - empurre a variável global para o topo da pilha.
  N Faça a saída como um número.
   "ykoops" Empurre 'spooky' para a pilha.
           Z Mostra tudo.
            V2 + N Chame a variável global novamente, adicione dois e depois faça a saída como num.
                "em" Z Empurre 'me' para a pilha e produza tudo.

Mais variação de spoopy usando várias pilhas (27 bytes):

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

& Faça uma nova pilha e vá para ela.
 "ykoops" Empurre 'spooky' para a pilha atual.
         & "em" Faça o último para as coisas com 'eu'.
              ? Mova-se sobre uma pilha.
               DN Saída da entrada.
                 Z Mova-se sobre uma pilha (aquela com 'assustador') e imprima-a.
                   ?? Volte para a pilha original.
                     2 + N Adicione 2 à entrada e faça a saída como um número.
                        Z Vá para a pilha com 'eu' e imprima-a.

Experimente online!

Addison Crump
fonte
Apenas imaginando, por que as cordas são invertidas?
Cyoce 23/02
Está empurrando os caracteres para a pilha, um por um.
Soham Chowdhury 23/03
6

Julia, 23 bytes

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

Isso cria uma função lambda sem nome que aceita um número inteiro e retorna uma sequência. A saída é construída usando a interpolação de seqüência de caracteres de Julia.

Alex A.
fonte
5

Ruby, 25 bytes

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

Isso cria uma lambda sem nome que aceita um número inteiro e retorna uma string. A string é construída usando a interpolação de string do Ruby.

Alex A.
fonte
5

APL, 25 22 bytes

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

Isso cria um trem de função monádica sem nome que aceita um número inteiro à esquerda e retorna uma string.

Valores numéricos são convertidos em cadeias usando . A matriz de cadeias é unida em uma única cadeia usando .

Experimente online

Economizou 3 bytes graças a Thomas Kwa!

Alex A.
fonte
5

Javascript (ES6) 23 21 bytes

Uma função simples que será esmagada pelos lanqs de golfe:

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

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

Agradecimentos especiais à ETHproductions por economizar 2 bytes

Usuário genérico
fonte
NOICE! Você pode reduzir as seqüências de caracteres do modelo, mas não consigo pensar em nenhuma maneira de fazê-lo #
MayorMonty
Dois bytes salvos:_=>_+`spooky${_+2}me`
ETHproductions
Obrigado, mas agora a correção parece tão óbvia que me sinto idiota. Eu acho que isso é o mais curto caminho possível fazer isso em JavaScript, eu poderia estar errado (Espero que eu esteja errado)
Generic User
5

05AB1E, 14 10 bytes

DÌs’ÿæªÿme

Experimente online.

Não competir desde 05AB1E é mais novo que esse desafio.

Explicação

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.
um spaghetto
fonte
2
Isso parece funcionar com os D9 bytes removidos
dzaima
4

PHP, 55 47 46 42 34 bytes

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

Aceita o número como entrada da linha de comando.

Créditos :)

Obrigado ao manatwork por economizar 4 bytes!

Obrigado a insertusernamehere por salvar 8 bytes!


fonte
function a($a){echo$a,"spooky",$a+2,"me";}
manatwork
Você pode salvar 4 bytes removendo os "s. Você pode até mesmo salvar mais 4 bytes , tendo um argumento de linha de comando e descartar a função, assim: <?=($a=$argv[1]).spooky.($a+2).me;.
insertusernamehere
4

Chaîne , 15 bytes

não-concorrente, pergunta pós-datas de idiomas

{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

Saída implícita.

Conor O'Brien
fonte
A saída é `spookyme 4 2" (nova linha separada)
Fabian Schmengler 01/11/2015
@fschmengler Devo ter estragado alguma coisa enquanto atualizava o intérprete. Por favor espere.
Conor O'Brien
@fschmengler Tudo bem, os erros foram corrigidos. Deve funcionar agora.
Conor O'Brien
3

Python, 31 bytes

lambda n:"%dspooky%dme"%(n,n+2)

Peça e você receberá.

Dennis
fonte
Python 3.6+ lambda n:f'{n}spooky{n+2}me'para 28 bytes.
mypetlion
3

Simplex v.0.7 , 20 bytes

Hoje, o Simplex simplesmente não está se sentindo muito satisfeito. > _ <

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
Conor O'Brien
fonte
Você ainda venceu Vitsy. oo
Addison Crump
@VoteToClose Não se sinta muito mal. A última versão do Simplex teria ~ 25 + caracteres. De qualquer maneira, 20 ou 21 bytes não chegam nem perto de 17; -;
Conor O'Brien
2
Dennis vence novamente .
Addison Crump
11
@VoteToClose O que você esperava? Ele é um mod XD
Conor O'Brien
3
Precisamos adicionar isso à lista de memes.
Addison Crump #:
3

C, 58 bytes

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

atoi() pode ser desnecessário.

Chris Loonam
fonte
1. Falha no meu gcc, porque depende da ordem de avaliação. 2. Salve um byte com int**b.
Ugoren
3

Mathematica, 45 27 bytes

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

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

Agradecemos a Martin Büttner pela melhoria significativa (e pela calorosa recepção).

Onipresente
fonte
2
Bem-vindo ao PPCG! Funções sem nome são boas, então você não precisa do g=e acho que Print[#,"spooky",#+2,"me"]&deve funcionar também. :)
Martin Ender
Que tal Row@{#,spooky,#+2,me}&? A saída é visualmente semelhante se as variáveis ​​não estiverem definidas.
precisa saber é o seguinte
3

Minkolang 0.10 , 49 bytes

Não tenho como converter números inteiros em seqüências de caracteres (ainda!), Portanto isso é muito mais longo.

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

Experimente aqui.

Explicação

(dl%"0"+$rl:d)faz o trabalho de converter um int em uma string. Se isso fosse substituído por um único caractere (como Z), minha solução seria de apenas 23 bytes .

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

ndpega um número inteiro da entrada e o duplica. 2+adiciona 2 e 2gmais tarde obtém a entrada inicial e a coloca no topo da pilha. $O.gera a pilha inteira como números inteiros e para.

El'endia Starman
fonte
Certamente é mais curto apenas exibir os números como números?
Sp3000
A saída como número adiciona automaticamente um espaço à saída. Então seria "2 spooky4 me".
El'endia Starman 01/11/2015
3

Lua para windows, 41 bytes

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

teste com lua para windows

leva a entrada através de io.read, em seguida, armazenada na variável n, na mesma linha imprime a variável n, em seguida, "spooky", em seguida, n + 2 finalmente, imprime "me"

Alex Allen
fonte
11
Remova os espaços em branco e salve os bytesn=io.read()print(n.."spooky"..n+2.."me")
Digital Veer
11
@DigitalVeer - Sem o espaço 2.em branco será tratado como um número.
Egor Skriptunoff
p.lua: print(.....'spooky'.. ...+2 ..'me') Como executar: lua51.exe p.lua 2Size = 35 bytes.
Egor Skriptunoff
3

Rotor, 15 bytes

&"spooky"~2+"me

A linguagem foi criada após o desafio. Não funciona no intérprete online (usa avaliação de entrada).

um spaghetto
fonte
Dam filho. Você superou o Dennis. Finalmente. Viva!
Addison Crump
11
Rotor está morto para mim, não tente ressuscitá-lo, por favor.
a spaghetto
11
Bom trabalho, mesmo em Rotor !! Você deve recompensá-lo com a vida.
Rɪᴋᴇʀ
3

Cookie , 16 bytes (não concorrente)

Observe que as recentes alterações na página do Github não foram feitas para esse desafio. O Cookie ainda está em desenvolvimento.

wŕspooky[r+2]me"

Explicação:

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
fonte
@Mego Por que você adicionou não concorrentes? Só perguntando.
O idioma foi criado 5 meses após o lançamento do desafio.
Mego
@Ego não sabia sobre esse sistema. Obrigado por me iluminando;)
Feliz em ajudar. Se um envio for válido, mas o (s) idioma (s) / (s) recurso (s) usado (s) antes da publicação do desafio (no principal ou no Sandbox), ele deve ser marcado como não concorrente, a menos que o O desafio permite especificamente que idiomas / recursos mais novos competam.
Mego
Direita. Isso faz sentido.
3

Gelatina, não concorrente

13 bytes Esta resposta não é competitiva, pois o desafio antecede a criação do Jelly.

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

NÃO POSSO SABER QUARTATA AJUDAR

Experimente online!

Como funciona

+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.
Dennis
fonte
7
Simplesmente não se supera ... quartata?
Arcturus
Não consigo superar o quartata, mas, como a resposta não é competitiva, posso ajudar. +2ṭż“×¥X“ŀ`»
Erik the Outgolfer