/* Configuration */
var QUESTION_ID = 63675; // Obtain this from the url
// It will be like http://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page
var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";
var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk";
var OVERRIDE_USER = 43444; // This should be the user ID of the challenge author.
/* App */
var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page;
function answersUrl(index) {
return "http://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 "http://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, 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.toLowerCase() > b.lang_raw.toLowerCase()) return 1;
if (a.lang_raw.toLowerCase() < b.lang_raw.toLowerCase()) 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);
}
}
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;
}
<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>
ಠ
dana
? Apakah 1 (dihitungಠ
sebagai 1 char) atau 2 (karenaಠ
sebenarnya 2 byte)?Jawaban:
Japt ,
886866766725688669Tugas 5 dan 6 adalah pembunuh. Mungkin ada cara yang lebih pendek untuk menyelesaikannya. Saya pikir jarak Levenshtein masih bisa dikurangi juga.
!(U%#ۊ
7 byte (arang arab mengacaukan keselarasan)
U!=Uk'q
7 byte, dist 11Us36 u
6 byte, dist 14UmX=>Xc
7 byte, dist 14"PPCG"
6 byte, dist 18Ur"[Oo]",'ಠ
13 byte, dist 27X=Uq f;XoU*X+1,X
16 byte, dist 522oU fX=>2oX eY=>X%Y &&!(U%X)r(X,Y =>X+Y
39 byte, dist 172UmX=>128o mY=>Yd)a k'A i#Z,'A k'a i#z,'a gXc
44 byte, dist 216Berikut cuplikan yang akan memberi tahu Anda (salah satu) cara paling efisien untuk mengatur program Anda:
Tampilkan cuplikan kode
Dengan versi terbaru Japt (tidak bersaing dalam tantangan ini), sebagian besar tugas menjadi lebih singkat:
s36 u
5 bytemc
2 bytev#ۊ
4 byte
oq
2 byte;B±B+C²UrF,@Bg1+BbX
19 bytek â x
5 byte"PPCG
5 byteB=U¬f)oU*B+1B
13 bytero'ಠ'i
6 byteUrutan optimal sekarang 2,4,3,1,6,7,9,8,5, masuk pada skor kekalahan 217 , kurang dari sepertiga dari aslinya!
Saran diterima!
sumber
Pyth, skor 489
Konversi basis: 15
Caesar Cipher: 13 + 11 ^ 1.5
Dibagi oleh 1738: 7 + 11 ^ 1.5
Bilangan bulat positif N pertama: 8 + 8 ^ 1,5
Jumlah faktor prima: 4 + 6 ^ 1.5
Penampilan q dalam string: 4 + 4 ^ 1.5
Bergabung dengan semua kode ASCII: 5 + 4 ^ 1.5
Cetak "PPCG": 5 + 5 ^ 1.5
Ganti dengan
ಠ
: 9 + 7 ^ 1.5sumber
Ruby, 1488
Mungkin banyak ruang untuk perbaikan di sini. Menghabiskan sebagian besar waktu menghitung skor ...
Jumlah faktor prima : 64 Basis 36 : 30 + 47 1.5 = 352 Dibagi oleh 1738 : 22 + 15 1,5 = 80 Cetak PPCG : 9 + 18 1.5 = 85 Apakah string berisiq
? : 10 + 8 1,5 = 32 Gantio
: 23 + 16 1.5 = 87 Cipher Ceasar : 32 + 21 1,5 = 128 Kode ASCII : 37 + 26 1.5 = 169 Bilangan bulat dapat dibagi dengan akar kuadrat : 72 + 56 1,5 = 491sumber
Java, skor 8331
Jarak levenshtein mereka membunuh skor saya di sini.
(Program-program ini mengambil input sebagai argumen baris perintah)
Program 1 (119):
Program 2 (120 + 56 1,5 = 539):
Program 3 (101 + 49 1.5 = 444):
Program 4 (108 + 20 1,5 = 197):
Program 5 (186 + 107 1,5 = 1293):
Program 6 (327 + 228 1,5 = 3747):
Program 7 (336 + 10 1,5 = 368)
Program 8 (351 + 34 1,5 = 549):
Program 9 (305 + 84 1,5 = 1075):
sumber
Pyth, skor 817
nomor 1: 24
nomor 2: (9 + 16 1.5 = 73)
angka 3: (5 + 8 1,5 = 27)
angka 4: (5 + 14 1,5 = 57)
angka 5: (39 + 37 1,5 = 264)
angka 6: (4 + 39 1,5 = 247)
angka 7: (5 + 4 1.5 = 13)
angka 8: (12 + 12 1,5 = 53)
angka 9 (13 + 13 1,5 = 59)
Bukan yang terbaik, saya baru mulai belajar pyth hari ini dan berpikir saya akan mencobanya, nomor 5 benar-benar membunuh skor saya, saya pikir saya bisa mendapatkan beberapa dari mereka lebih pendek tapi itu hanya akan menyakiti saya lebih jauh pada jarak. Setiap tips dari pengguna pyth yang lebih berpengalaman dihargai.
sumber
You must use one language to write programs that perform the following nine tasks, in any order.
Semoga Sukses!5 + 14^1.5
bukan 19Python 3 (saat ini tidak valid), 621 byte
Tidak benar-benar kode yang baik tetapi agak berfungsi: D. Jumlah faktor utama tidak berfungsi. Saya selalu mendapatkan hasil yang berbeda dari contoh Anda, jadi saya menghapusnya. Juga Python tidak mendukung char
ಠ
jadi ia menggantikano
s dengan0
sINFO IO:
Input 1: int di basis 10 | Output: angka itu di base 36
Input 2: sebuah string | Output: Angka-angka Ascii dari string
Input ke-3: integer | Output: Benar atau Salah tergantung apakah angka dapat dibagi dengan 1738
Input 4: string | Output: T atau F tergantung apakah string memiliki "q" di dalamnya
Input 5: string | Output: Caser Cipher +1 dari string
6: hanya mencetak "PPCG" secara harfiah
Input 7: int n | Output: n ints pertama dibagi oleh lantai (sqrt (n))
Input 8: string | Output: Mengganti semua
o
s dengan 0 (bukan dengan ಠ karena python tidak mendukung karakter itu, jangan terlalu marah :))sumber