var QUESTION_ID=66202,OVERRIDE_USER=44713;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>
b, a
?Respuestas:
Jalea, 2 bytes
Toma dos números como argumentos de línea de comando. Pruébalo en línea.
Tenga en cuenta que este es un rango inclusivo. Por el costo de un byte (3 bytes), podemos hacer esto exclusivo:
Pruébalo en línea. Tenga en cuenta que los argumentos deben darse en el orden
b a
de esta versión.Explicación
Inclusivo
Exclusivo
fuente
ArnoldC ,
522511 bytes¡Primera publicación en codegolf!
Me divertí haciendo esto. Gama exclusiva
Explicaciones (gracias Bijan):
fuente
Python, 30 bytes
Rango inclusivo. Multiplica repetidamente por e incrementa el punto final izquierdo, hasta que sea más alto que el punto final derecho, en cuyo caso es el producto vacío de 1 (como Verdadero).
fuente
Minecraft 15w35a +, tamaño total del programa 456 (ver más abajo)
Esto calcula
PI [a,b)
. La entrada se proporciona mediante el uso de estos dos comandos:/scoreboard players set A A {num}
y/scoreboard players set B A {num}
. Recuerde usar/scoreboard objectives add A dummy
antes de la entrada.Calificado usando:
{program size} + ( 2 * {input command} ) + {scoreboard command} = 356 + ( 2 * 33 ) + 34 = 456
.Este código corresponde al siguiente psuedocódigo:
Descarga el mundo aquí .
fuente
15w46a
o algo así.TI-BASIC, 9 bytes
Toma un número
Ans
y otro de un mensaje.También 9 bytes, tomando la entrada como una lista de
Ans
:fuente
%
son dos bytesPython 2,
4438 bytesMás o menos la respuesta obvia de la función anónima.
EDITAR: Gracias a xnor por guardar 6 bytes con algunas características que no conocía.
fuente
int.__mul__
, que funciona en lugar de su lambda. Los dos númerosx,y
también se pueden escribir sin empaquetar como*l
.Pyth, 5 bytes
Pyth no tiene producto, por lo que reducimos * en el rango.
Utiliza gama exclusiva.
fuente
*FrFQ
es equivalente pero con una entrada diferente, solo por diversión :)R, 22 bytes
fuente
Mathematica, 15 bytes
Una solución más corta que solo funciona para enteros no negativos:
fuente
#2!#/#!&
JavaScript (ES6), 34 bytes
¡A veces la respuesta más simple es la mejor! Solo un
for
bucle dentroeval
. Rango inclusivo.fuente
f=(a,b)=>a<b?a*f(a+1,b):1
En serio, 4 bytes
Hex Dump:
Pruébalo en línea
fuente
Japt , 7 bytes
Los desafíos fáciles como este siempre son divertidos. :)
Pruébalo en línea!
Explicación
Wow, esto parece patético en comparación con las otras respuestas hasta ahora. Necesito trabajar en Japt un poco más ...
fuente
Haskell,
1917 bytesEjemplo de uso:
2#5
->120
.fuente
Prólogo, 45 bytes
Código:
Explicado:
Ejemplo:
fuente
Octava, 15 bytes
Sencillo. Utiliza el rango inclusivo.
fuente
CJam,
6191810 bytes¡Gracias a Dennis y RetoKoradi por su ayuda con el golf!
Pruébalo en línea
Toma entrada como
a b
. CalculaPI [a,b)
.Nota: este programa es de 6 bytes de largo, y sólo funciona si
a
yb
son positivos.Pruébalo en línea
Toma entrada como
a b
. CalculaPI [a,b)
.fuente
q~{_)_W$<}g;]:*
Guarda tres bytes.q~1$-,f+:*
por 10 bytes.Bash + utilidades GNU, 13
Asume que no hay archivos en el directorio actual cuyos nombres comienzan con
-s
. El inicio y el final (inclusive) se pasan como parámetros de línea de comandos.Esto simplemente produce la secuencia de principio a fin, separada por
*
, luego canaliza haciabc
para la evaluación aritmética.fuente
-s
! : PMATL (no competidor), 4 bytes
Rango inclusivo
Pruébalo en línea!
Explicación
Gracias a @Don Muesli por ayudarme a entender todo esto de MATL.
fuente
&:p
un byte más corto?&
Jolf , 4 bytes
Pruébalo aquí!
fuente
Orj
(que se transfiere automáticamente aOrjx
)Ruby, 22 bytes
Sin golf:
Uso:
fuente
C, 32 bytes
Para
[a,b)
:Para
[a,b]
(según las sugerencias de Katenkyo, 32 bytes nuevamente):fuente
f(a,b){return a<b?a*f(a+1,b):b;}
. :)a=...
lugar dereturn...
05AB1E , 2 bytes (no competitivos)
Código:
Explicación:
fuente
J, 8 bytes
Uso
donde
>>
es STDIN y<<
es STDOUT.Explicación
Se calcula
∏[a,b]
como(b-1)!/(a-1)!
.Versión anterior de 13 bytes
Escrito cuando no tenía idea de lo que
J
es: pUso:
Explicación:
Explicación detallada:
fuente
[:*/]+i.@-
para 10 bytes si se toma el rango[a, b)
comob ([:*/]+i.@-) a
tal que10 ([:*/]+i.@-) 5
las salidas15120
.J
nada: pJavaScript (ES6), 22 bytes
No puedo creer que ninguno de nosotros los golfistas de JS pensáramos usar la recursividad ...
Asigne a una variable con
var q = a=>F=b=>a-b?b*F(b-1):a
, por ejemplo , luego llame comoq(2)(5)
.fuente
Brachylog , 3 bytes
Pruébalo en línea!
La entrada se pasa como
[A,B]
. El rango es exclusivo de B, pero podría hacerse inclusivo reemplazando el₃
con₂
.fuente
Minkolang 0.14 , 7 bytes
Pruébalo aquí
Explicación
fuente
Python, 52 bytes
Código muy simple; un poco demasiado largo
fuente
JavaScript (ES6),
4541 bytesGuardado 4 bytes gracias a @ Cᴏɴᴏʀ O'Bʀɪᴇɴ
Parece un poco demasiado largo ...
fuente
y
mapeo reducido, así que córtalo a lasx=>x*a++
Julia, 16 bytes
Nota: si el objeto de rango
a:b
(que se almacena literalmente como un valor inicial y un valor de parada, e internamente incluye un "incremento en 1 en cada paso" valor) se permite que la entrada, entonces se requieren sólo 4 bytes:prod
.fuente
Perl 6 , 14 bytes
uso:
Si desea excluir el último elemento, use en
..^
lugar de..
fuente