var QUESTION_ID=83814,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/83814/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:
Jalea , 9 bytes
Pruébalo en línea! o verificar todos los casos de prueba .
Cómo funciona
fuente
[bytes](link-to-byes) (not UTF-8)
.PARI / GP, 12 bytes
core
devuelve la parte de squarefree den
forma predeterminada, pero establecer el segundo indicador de argumento en 1 hace que devuelva ambas partes. El orden de salida es(b, a)
, por ejemplo(n->core(n,1))(12) -> [3, 2]
.fuente
Python 2, 43 bytes
Pruébalo en Ideone .
fuente
MATL , 12 bytes
Pruébalo en línea!
Explicación
fuente
Julia, 32 bytes
Pruébalo en línea!
fuente
Mathematica 34 bytes
Esto dice reemplazar toda la entrada (
#
) de acuerdo con las siguientes reglas: (1) un número, a , multiplicado por la raíz cuadrada de b debe reemplazarse por{a, b}
y una función b a la potencia de lo que sea que deba reemplazarse por {1, b }. Tenga en cuenta que la función asume que la entrada tendrá la formaSqrt[n]
,. No funcionará con otros tipos de entrada.Esta función sin nombre es inusualmente críptica para Mathematica. Puede aclararse un poco mostrando su forma completa, seguido de reemplazos de las formas más cortas originales.
que es lo mismo que
y
y
y
y
fuente
Pyth, 15 bytes
Banco de pruebas.
fuente
Matlab, 51 bytes
Explicación
fuente
JavaScript (ECMAScript 2016), 40 bytes
Básicamente, un puerto JavaScript de la respuesta Python 2 de Dennis .
Pruébalo en JSBin .
Nota: no funciona en modo estricto, porque
k
no se inicializa en ningún lado. Para que funcione en modo estricto,k=n
en el bucle debe cambiarse alet k=n
.fuente
Haskell,
43>42 bytesSolución de fuerza bruta.
Guardado 1 byte gracias a Xnor
fuente
mod
odiv
. Creo que puedes hacerloy<-[1..]
debido a la pereza.last[(x,y)|x<-[1..n],y<-[1..n],x*x*y==n]
pero ahora funcionará. Gracias. ¿Tienes tu propia solución en Haskell?05AB1E, 14 bytes
Explicado
Pruébalo en línea
fuente
Python, 74 bytes
Lo suficientemente directo.
fuente
Python 2.7 (sin golf) - 181 Bytes
Ejecutar como: e (número) ej. e (24)
Salida de muestra:
fuente
APL, 25 caracteres
En inglés:
0⍳⍨⌽⍵|⍨×⍨⍳⍵
: índice del mayor de los cuadrados hasta n que divide completamente n;1+⍵-
: el índice está en la matriz invertida, así que ajuste el índice(⊢,⍵÷×⍨)
: produce el resultado: el índice en sí (a) y el cociente b (es decir, n ÷ a * a)Prueba:
fuente
JavaScript (ECMAScript 6), 35 bytes
JavaScript 1+, 37 B
fuente
J , 19 bytes
Pruébalo en línea!
Igual que la solución de gelatina .
fuente