var QUESTION_ID=113051,OVERRIDE_USER=59487;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<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="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><div id="language-list"> <h2>Winners 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><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>
Respuestas:
Haskell, 29 bytes
La longitud
p
es el primer parámetro. Ejemplo de uso:( (.(#)).(.).take ) 10 50 40
->[50,40,10,30,-20,50,-70,120,-190,310]
. Pruébalo en línea! .Acortar la lista a
p
elementos toma más bytes que producirla.fuente
Jalea , 6 bytes
Pruébalo en línea!
Cómo funciona
fuente
Python 2, 39 bytes
-2 bytes gracias a ETHproductions
-1 byte gracias a Dennis
Pruébalo en línea!
fuente
JavaScript (ES6), 33 bytes
Devuelve una cadena del formato
1,2,3,
, ¡sin usar cadenas!Fragmento de prueba
Mostrar fragmento de código
fuente
Perl 6 , 25 bytes
Intentalo
Expandido:
fuente
CJam , 15 bytes
1 byte adicional porque CJam no usa naturalmente uno de los formatos de salida permitidos> _ <
Pruébalo en línea!
Explicación
fuente
05AB1E ,
97 bytesPruébalo en línea!
Explicación
fuente
Röda , 38 bytes
Pruébalo en línea!
Explicado:
fuente
Haskell , 33 bytes
Llamar usando
(m!n)p
. Obras de definir!
como una función infija que lleva enm
yn
y devuelve una función que tomap
y devuelve el resultado deseado.fuente
;
para que sea de una sola línea, por lo que se ve un poco más codegolfy.Ruby, 31 bytes
La solución directa
fuente
PHP, 76 bytes
PHP, 84 bytes
fuente
Pyth, 18 bytes
Pruébalo en línea!
La entrada y la salida están delimitadas por líneas nuevas.
Cómo funciona:
fuente
Mathematica, 26 bytes
Me encanta el edificio. Toma entrada en el formulario
{{m, n}, p}
.LinearRecurrence
quiere saber los coeficientes de la combinación lineal de elementos anteriores para generar nuevos elementos, que en este caso es{-1,1}
.fuente
QBIC ,
3533 bytesSe guardaron 2 bytes colocando el primero
PRINT
en un código literal.Explicación (versión de 35 bytes):
fuente
C, 128 bytes
Este programa analiza los tres argumentos
m
,n
yp
desde la línea de comandos, e imprime la salida como se especifica.Los compiladores modernos de C le permiten omitir las importaciones básicas, y así podemos usar
printf
yatoi
sin el#include
s.Las variables globales son
int
por defecto cuando se declaran sin tipo, esto ahorra mucho espacio.fuente
Java, 66 bytes
Por una vez, lambdas son el enfoque ineficiente para jugar al golf debido a la muy manera indirecta de la aplicación de la recursividad para ellas que requiere una gran cantidad de bytes adicionales.
Golfizado:
Sin golf:
fuente
AHK, 68 bytes
Conseguir' muy cansado de no saber / poder utilizar argumentos pasados (
%1%
,%2%
, ...) directamente en cualquiera de las funciones matemáticasfuente
Python 2 ,
9390 bytesPruébalo en línea!
Guardado 3 bytes gracias a @ Mr.Xcoder
Funciona tomando los números como entrada y formateándolos correctamente, luego usando un bucle for para generar una lista basada en los números ingresados.
fuente
Swift - 85 bytes
Uso:
y(x:50,y:40,x:6)
Swift - 84 bytes
Uso:
z(l: [50,40,6])
Salida:
fuente
Python - 55 bytes
Pruébalo en línea! Y uso:
s(50,40,6)
Nota: solución sin lambda
fuente