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>
Jawaban:
Jelly , 9 byte
Cobalah online! atau verifikasi semua kasus uji .
Bagaimana itu bekerja
sumber
[bytes](link-to-byes) (not UTF-8)
PARI / GP, 12 byte
core
mengembalikan bagian squarefree darin
secara default, tetapi pengaturan flag argumen kedua ke 1 membuatnya mengembalikan kedua bagian. Urutan output adalah(b, a)
, mis(n->core(n,1))(12) -> [3, 2]
.sumber
Python 2, 43 byte
Uji di Ideone .
sumber
MATL , 12 byte
Cobalah online!
Penjelasan
sumber
Julia, 32 byte
Cobalah online!
sumber
Mathematica 34 byte
Ini mengatakan untuk mengganti semua input (
#
) sesuai dengan aturan berikut: (1) angka, a , kali akar kuadrat dari b harus diganti oleh{a, b}
dan fungsi b untuk kekuatan apa pun yang harus diganti oleh {1, b }. Perhatikan bahwa fungsi tersebut mengasumsikan bahwa input akan berupaSqrt[n]
,. Ini tidak akan bekerja dengan input lainnya.Fungsi yang tidak disebutkan namanya ini luar biasa samar untuk Mathematica. Hal ini dapat diklarifikasi dengan menunjukkan bentuknya yang lengkap, diikuti dengan penggantian dari bentuk yang lebih pendek.
yang sama dengan
dan
dan
dan
dan
sumber
Pyth, 15 byte
Suite uji.
sumber
Matlab, 51 byte
Penjelasan
sumber
JavaScript (ECMAScript 2016), 40 byte
Pada dasarnya port JavaScript jawaban Dennis's Python 2 .
Cobalah di JSBin .
Catatan: tidak berfungsi dalam mode ketat, karena
k
tidak diinisialisasi di mana pun. Untuk membuatnya bekerja dalam mode ketat,k=n
dalam loop harus diubah menjadilet k=n
.sumber
Haskell,
43>42 byteSolusi brute force.
Disimpan 1 byte berkat Xnor
sumber
mod
ataudiv
. Saya pikir Anda bisa melakukannyay<-[1..]
karena malas.last[(x,y)|x<-[1..n],y<-[1..n],x*x*y==n]
tetapi sekarang akan berhasil. Terima kasih. Apakah Anda punya solusi sendiri di Haskell?05AB1E, 14 byte
Dijelaskan
Cobalah online
sumber
Python, 74 Bytes
Cukup mudah.
sumber
Python 2.7 (ungolfed) - 181 Bytes
Jalankan sebagai: e (angka) misalnya. e (24)
Output sampel:
sumber
APL, 25 karakter
Dalam Bahasa Inggris:
0⍳⍨⌽⍵|⍨×⍨⍳⍵
: indeks kotak terbesar hingga n yang membelah sepenuhnya n;1+⍵-
: indeks dalam array terbalik, jadi sesuaikan indeks(⊢,⍵÷×⍨)
: menghasilkan hasil: indeks itu sendiri (a) dan hasil bagi b (yaitu, n ÷ a * a)Uji:
sumber
JavaScript (ECMAScript 6), 35 byte
JavaScript 1+, 37 B
sumber
J , 19 byte
Cobalah online!
Sama seperti solusi Jelly .
sumber