Un meme actual de Internet es escribir 2spooky4me, con una segunda persona escribiendo 3spooky5me, siguiendo el (n)spooky(n+2)me
patrón.
Su misión es implementar este patrón en el idioma elegido. Debe escribir un programa o función que tome un valor n
(de entrada estándar, como argumento de función o alternativa más cercana), y envíe la cadena (n)spooky(n+2)me
(sin paréntesis; a salida estándar, como valor de retorno para una función, o alternativa más cercana )
Su solución debería funcionar para todas las entradas, desde 1
hasta 2 por debajo del valor entero máximo representable de su idioma ( 2^32-3
por ejemplo, para C en una máquina de 32 bits).
Implementación de ejemplo en Python:
def spooky(n):
return "%dspooky%dme"%(n,n+2)
spooky(2) -> "2spooky4me"
Este es el código de golf , por lo que las lagunas estándar están prohibidas, ¡y la respuesta más corta en bytes gana!
Tabla de clasificación
El Fragmento de pila al final de esta publicación genera la tabla de clasificación a partir de las respuestas a) como una lista de la solución más corta por idioma yb) como una tabla de clasificación general.
Para asegurarse de que su respuesta se muestre, comience con un título, utilizando la siguiente plantilla de Markdown:
## Language Name, N bytes
¿Dónde N
está el tamaño de su envío? Si mejora su puntaje, puede mantener los puntajes antiguos en el título, tachándolos. Por ejemplo:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Si desea incluir varios números en su encabezado (por ejemplo, porque su puntaje es la suma de dos archivos o desea enumerar las penalizaciones de la bandera del intérprete por separado), asegúrese de que el puntaje real sea el último número en el encabezado:
## Perl, 43 + 2 (-p flag) = 45 bytes
También puede hacer que el nombre del idioma sea un enlace que luego aparecerá en el fragmento:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
<style>body { text-align: left !important} #answer-list { padding: 10px; width: 290px; float: left; } #language-list { padding: 10px; width: 290px; float: left; } table thead { font-weight: bold; } table td { padding: 5px; }</style><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="language-list"> <h2>Shortest Solution by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr> </thead> <tbody id="languages"> </tbody> </table> </div> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr> </thead> <tbody id="answers"> </tbody> </table> </div> <table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr> </tbody> </table><script>var QUESTION_ID = 62350; var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var OVERRIDE_USER = 45941; var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page; function answersUrl(index) { return "https://api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER; } function commentUrl(index, answers) { return "https://api.stackexchange.com/2.2/answers/" + answers.join(';') + "/comments?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + COMMENT_FILTER; } function getAnswers() { jQuery.ajax({ url: answersUrl(answer_page++), method: "get", dataType: "jsonp", crossDomain: true, success: function (data) { answers.push.apply(answers, data.items); answers_hash = []; answer_ids = []; data.items.forEach(function(a) { a.comments = []; var id = +a.share_link.match(/\d+/); answer_ids.push(id); answers_hash[id] = a; }); if (!data.has_more) more_answers = false; comment_page = 1; getComments(); } }); } function getComments() { jQuery.ajax({ url: commentUrl(comment_page++, answer_ids), method: "get", dataType: "jsonp", crossDomain: true, success: function (data) { data.items.forEach(function(c) { if (c.owner.user_id === OVERRIDE_USER) answers_hash[c.post_id].comments.push(c); }); if (data.has_more) getComments(); else if (more_answers) getAnswers(); else process(); } }); } getAnswers(); var SCORE_REG = /<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/; var OVERRIDE_REG = /^Override\s*header:\s*/i; function getAuthorName(a) { return a.owner.display_name; } function process() { var valid = []; answers.forEach(function(a) { var body = a.body; a.comments.forEach(function(c) { if(OVERRIDE_REG.test(c.body)) body = '<h1>' + c.body.replace(OVERRIDE_REG, '') + '</h1>'; }); var match = body.match(SCORE_REG); if (match) valid.push({ user: getAuthorName(a), size: +match[2], language: match[1], link: a.share_link, }); else console.log(body); }); valid.sort(function (a, b) { var aB = a.size, bB = b.size; return aB - bB }); var languages = {}; var place = 1; var lastSize = null; var lastPlace = 1; valid.forEach(function (a) { if (a.size != lastSize) lastPlace = place; lastSize = a.size; ++place; var answer = jQuery("#answer-template").html(); answer = answer.replace("{{PLACE}}", lastPlace + ".") .replace("{{NAME}}", a.user) .replace("{{LANGUAGE}}", a.language) .replace("{{SIZE}}", a.size) .replace("{{LINK}}", a.link); answer = jQuery(answer); jQuery("#answers").append(answer); var lang = a.language; lang = jQuery('<a>'+lang+'</a>').text(); languages[lang] = languages[lang] || {lang: a.language, lang_raw: lang.toLowerCase(), user: a.user, size: a.size, link: a.link}; }); var langs = []; for (var lang in languages) if (languages.hasOwnProperty(lang)) langs.push(languages[lang]); langs.sort(function (a, b) { if (a.lang_raw > b.lang_raw) return 1; if (a.lang_raw < b.lang_raw) return -1; return 0; }); for (var i = 0; i < langs.length; ++i) { var language = jQuery("#language-template").html(); var lang = langs[i]; language = language.replace("{{LANGUAGE}}", lang.lang) .replace("{{NAME}}", lang.user) .replace("{{SIZE}}", lang.size) .replace("{{LINK}}", lang.link); language = jQuery(language); jQuery("#languages").append(language); } }</script>
%dspooky%dme
, valide y devuelva el siguiente en serie.Respuestas:
gs2, 15 bytes
Yo superé a Dennis!
CP437:
Volcado hexadecimal:
Al comienzo del programa, STDIN se empuja (por ejemplo, la cadena
"3"
) y se almacena en variableA
. Los primeros diez bytes del programa empujan dos cadenas"spooky"
y"me"
, a la pila. Luego:d0
Empuja variableA
.56
lo analiza como un número.12
30
lo incrementa en dos.42
intercambia los dos elementos superiores de la pila y se va"3" "spooky" 5 "me"
.La pila final se imprime como
3spooky5me
.fuente
GS2, 17 bytes
No puedo superar la ayuda de Dennis
fuente
Atascado, 17 bytes
EDITAR: supongo que podría decir que estoy atascado a los 17 bytes
fuente
GolfScript, 17 bytes
Pruébelo en línea en Web GolfScript .
Cómo funciona
fuente
CJam, 18 bytes
Pruébalo en línea.
fuente
Pyth - 17 bytes
Pruébelo en línea aquí .
fuente
Chef, 414 bytes
Una receta para el desastre. No intente esto en casa.
fuente
TeaScript, 18 bytes
Desafortunadamente, esta cadena no se puede comprimir, por lo que es básicamente tan corta como se pondrá
fuente
Pip, 18 bytes
Parece que estoy en el segundo nivel de idiomas de golf aquí. : ^ P
Toma el número como un argumento de línea de comandos y coloca los elementos apropiados en una matriz, que se une y se imprime automáticamente al final del programa.
fuente
dc, 20 bytes
fuente
Japt,
1716 bytesJapt ( Ja vascri pt acortado) es un lenguaje de mi invención. Es más nuevo que este desafío; Por lo tanto, esta respuesta no es competitiva. A diferencia de mis otros siete idiomas inéditos, este tiene un intérprete real que se está desarrollando actualmente y ya está funcionando parcialmente.
Quería publicar esto porque me gusta cómo tiene la misma longitud que todas las respuestas existentes de
primer lugar ysegundo lugar. Así es como funciona:Y ahí lo tienes. La especificación para toda la funcionalidad utilizada aquí se finalizó el 29 de octubre; nada fue cambiado para hacer esta respuesta más corta. Aquí está el intérprete , como se prometió.
fuente
{U}2me
lugar de{U+2}me
: PGol> <> , 21 bytes
Supongo que estoy ... atado con Perl? Pruébalo en línea .
fuente
Vitsy, 21 bytes
Nota: el
Z
comando se realizó después de que comenzó este desafío, pero no se hizo para este desafío.Más variación espeluznante usando múltiples pilas (27 Bytes):
Pruébalo en línea!
fuente
Julia, 23 bytes
Esto crea una función lambda sin nombre que acepta un número entero y devuelve una cadena. La salida se construye utilizando la interpolación de cadenas de Julia.
fuente
Rubí, 25 bytes.
Esto crea una lambda sin nombre que acepta un número entero y devuelve una cadena. La cadena se construye utilizando la interpolación de cadenas de Ruby.
fuente
APL,
2522 bytesEsto crea un tren de funciones monádicas sin nombre que acepta un número entero a la izquierda y devuelve una cadena.
Los valores numéricos se convierten en cadenas usando
⍕
. El conjunto de cadenas se une en una sola cadena usando∊
.Pruébalo en línea
¡Guardado 3 bytes gracias a Thomas Kwa!
fuente
Javascript (ES6)
2321 BytesUna función simple que será aplastada por los lanqs de golf:
Un agradecimiento especial a ETHproductions por guardar 2 bytes
fuente
_=>_+`spooky${_+2}me`
05AB1E,
1410 bytesPruébalo en línea.
No competir desde 05AB1E es más nuevo que este desafío.
Explicación
fuente
D
eliminado por 9 bytesPHP,
5547464234 bytesAcepta el número como entrada de línea de comando.
Créditos :)
¡Gracias a manatwork por guardar 4 bytes!
¡Gracias a insertusernamehere por guardar 8 bytes!
fuente
function a($a){echo$a,"spooky",$a+2,"me";}
"
s. Incluso se puede guardar 4 más bytes mediante la adopción de un argumento de línea de comandos y desechar la función, así:<?=($a=$argv[1]).spooky.($a+2).me;
.Chaine , 15 bytes
pregunta no competitiva, fecha posterior al idioma
Salida implícita.
fuente
Python, 31 bytes
Pedid y se os dará.
fuente
lambda n:f'{n}spooky{n+2}me'
para 28 bytes.Simplex v.0.7 , 20 bytes
Simplex simplemente no se siente golfoso hoy. > _ <
fuente
C, 58 bytes
atoi()
puede ser innecesariofuente
gcc
, porque depende del orden de evaluación. 2. Guardar un byte conint**b
.Mathematica,
4527 bytesg=ToString[#]<>"spooky"<>ToString[#+2]<>"me"&
Gracias a Martin Büttner por la mejora significativa (y la cálida bienvenida).
fuente
g=
y creo quePrint[#,"spooky",#+2,"me"]&
debería funcionar también. :)Row@{#,spooky,#+2,me}&
? La salida es visualmente similar si las variables no están definidas.Minkolang 0.10 , 49 bytes
No tengo forma de convertir enteros en cadenas (¡todavía!), Así que esto es mucho más largo.
Pruébalo aquí
Explicación
(dl%"0"+$rl:d)
hace el trabajo de convertir un int en una cadena. Si esto fuera reemplazado por un solo carácter (comoZ
), entonces mi solución sería de solo 23 bytes .nd
toma un entero de la entrada y lo duplica.2+
agrega 2 y2g
luego obtiene la entrada inicial y la coloca en la parte superior de la pila.$O.
genera toda la pila como enteros y se detiene.fuente
Lua para windows, 41 bytes
prueba con lua para windows
toma la entrada a través de io.read luego se almacena en la variable n luego en la misma línea imprime la variable n luego "espeluznante" y luego n + 2 finalmente imprime "yo"
fuente
n=io.read()print(n.."spooky"..n+2.."me")
2.
se tratará como un número.print(.....'spooky'.. ...+2 ..'me')
Cómo ejecutar:lua51.exe p.lua 2
Tamaño = 35 bytes.Rotor, 15 bytes
El lenguaje fue creado después del desafío. No funciona en el intérprete en línea (usa evaluación de entrada).
fuente
Cookie , 16 bytes (no competitiva)
Tenga en cuenta que los cambios recientes en la página de Github no se realizaron para este desafío, Cookie todavía está en desarrollo.
Explicación:
fuente
Gelatina, no competidora
13 bytes Esta respuesta no es competitiva, ya que el desafío es anterior a la creación de Jelly.
NO PUEDO SUPERAR LA AYUDA DE CUARATA
Pruébalo en línea!
Cómo funciona
fuente
+2ṭż“×¥X“ŀ`»
Perl 5 ,
2019 bytesEl código requiere el
-p
cambio. ¡Gracias a @Xcali por jugar golf en 1 byte!Pruébalo en línea!
fuente