Mengingat output dari program polisi ( o
), byte-count ( n
) dan jumlah byte unik ( c
) yang digunakan, muncul dengan potongan kode yang sesuai yaitu n
panjang byte dengan c
byte unik yang cocok dengan output polisi o
.
Ini adalah utas polisi . Poskan solusi yang harus dipecahkan di sini.
The perampok benang terletak di sini .
Polisi harus memposting solusi seperti ini:
#[Language], `n` Bytes, `c` Unique Bytes (c*n points) [Cracked](Link-To-Crack)
[Output]
---
(Optional spoiler)
Aturan
- Anda tidak boleh mengambil input apa pun untuk program Anda.
- Program harus menggunakan setidaknya 1 byte, tetapi tidak boleh melebihi 255 byte.
- Output itu sendiri juga terbatas pada 255 byte.
- Program harus memiliki hasil keluaran yang konsisten ketika dijalankan beberapa kali.
- Jika kiriman Anda tidak retak dalam 7 hari, Anda dapat menandainya sebagai "aman".
- Saat menandainya aman, poskan solusi yang dimaksud dan beri skor sebagai
c*n
. - Tandai saja jawaban sebagai "aman" jika Anda benar - benar menginginkan +15 untuk jawaban yang diterima; lebih menyenangkan untuk melihat berapa lama Anda bisa pergi.
- Saat menandainya aman, poskan solusi yang dimaksud dan beri skor sebagai
Kemenangan
- Pos tidak terpecah dengan yang terendah
c*n
skor , memenangkan utas polisi. - Ini akan diputuskan setelah 10 jawaban aman, atau beberapa minggu.
Peringatan
- Jika Anda merasa sombong, Anda dapat memberi tahu pengguna algoritma menggunakan tag spoiler .
Pengajuan Tidak Rusak:
fetch("https://api.stackexchange.com/2.2/questions/147635/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!/^#.*cracked/im.test(i.body_markdown)).map(x=>{const matched = /^ ?#{1,3} ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:.*(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).reverse().forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var td = document.createElement("td");var a = document.createElement("a");a.innerHTML = lang;a.href = link;td.appendChild(a);tr.appendChild(td);};add(ans.lang, ans.link);add(ans.owner.display_name, ans.owner.link);document.querySelector("tbody").appendChild(tr);});});
<html><body><h1>Uncracked Submissions</h1><table><thead><tr><th>Language</th><th>Author</th></tr></thead><tbody></tbody></table></body></html>
cops-and-robbers
Guci Gurita Ajaib
sumber
sumber
Jawaban:
Haskell , 173 byte, 8 unik, 1384 poin, aman
Sepertinya jawaban ini ingin memberikan tag yang relevan dengan pertanyaan, dengan hanya menggunakan 8 byte yang berbeda.
Seperti biasa, solusi Anda harus bekerja dengan disisipkan di blok kode di TIO: Coba online!
Larutan
Ya, ini kode Haskell yang valid: Coba online!
Bagaimana itu bekerja
Garis bawah
_
digunakan sebagai kartu liar dalam pencocokan pola Haskell.'
digunakan untuk karakter, mis'a'
. Namun, keduanya_
dan'
juga merupakan bagian dari karakter yang diizinkan untuk nama pengidentifikasi (Dalam beberapa batasan, mis. Tidak'
dapat terjadi di awal nama.). Oleh karena itu__
,_'
,_'_
,_''
dan sebagainya adalah semua nama identifier yang valid. Menggunakan beberapa nama yang lebih deskriptif, kode di atas menjadiBaris pertama menghasilkan string
"[tag:reverse_engineering]"
jika setiap variabel ditugaskan ke karakter yang benar. Tugas ini dicapai di baris kedua:['_'..]
menghasilkan string"_`abcdefghijklmnopqrstuvwxyz{|}~ ... "
, penyihir dicocokkan pada pola_:_:a:_:_:_:e:_:g:_:i:_:_:_:_:n:_:_:_:r:s:t:_:v:_
untuk mendapatkan tugas yang diinginkana='a'
,e='e'
dan sebagainya.sumber
Brain-Flak, 62 total byte, 6 unik, 372 poin, Cracked
Ini output Anda:
Ada sesuatu yang istimewa tentang nomor ini tetapi tidak pada OEIS ;)
Jika Anda berpikir untuk menggunakan alat komputer untuk menyelesaikan ini, Anda kurang beruntung, pegolf integer mendapatkan 110 byte untuk nomor ini:
Cobalah online!
Anda harus melakukan ini dengan tangan.
Kiat
Berikut adalah beberapa tips, saya akan mengungkapkan lebih banyak tip bermanfaat dari waktu ke waktu. Semoga berhasil!
Solusi saya
Cobalah online!
Ini menggunakan salah satu trik favorit saya, kodenya
menghitung istilah ke- A090809 . Pengiriman lengkap hanya mengisi kode dengan angka 97 untuk menghasilkan angka yang besar.
sumber
MATL , 6 byte × 3 unik = 18 poin. Retak
sumber
i.^(0:3)
tidak memberikan ketidakakuratan titik mengambang di Oktaf, tetapiJ4:q^
tidak dalam MATL ...num2str(..., '%.15g ')
. Lihat misalnya di sini . Tapi itu tidak terjadi untuk MATL berjalan di Matlab. Kesimpulannya adalah bahwanum2str
bekerja sedikit berbeda di Matlab dan dalam OktafJelly , 7 byte × 6 unik = 42 poin, retak
Cobalah online!
sumber
ḷ
, misalnya. Sekarang sudah terlambat, kurasa ...Malbolge , 15 byte, 13 unik, skor 195. Aman!
Output:
Aman! Kode yang dimaksudkan:
Cobalah online!
sumber
JavaScript (ES8), 103 byte, 42 unik (4.326 poin) [SAFE]
Output hexdump:
Skor saya luar biasa besar, saya tahu, tapi bagaimanapun saya pikir yang ini mungkin menarik untuk dipecahkan. Program ini adalah fungsi yang mengembalikan string (hanya untuk menghindari kebingungan, ini bukan REPL).
Seharusnya tidak terlalu sulit, saya kira, semuanya adalah tentang menemukan polanya.
Larutan
Tampaknya itu keras daripada yang saya pikirkan, berdasarkan fakta bahwa tidak ada yang memecahkannya. Saya percaya mungkin ada beberapa solusi yang mudah dibuat. Bagaimanapun, inilah solusi yang dimaksud:
Untuk beberapa alasan tidak ditampilkan dengan benar sebagai cuplikan kode. Inilah tautan TIO .
sumber
Oktaf, 13 byte, 5 karakter unik, skor: 65. Aman!
Yang ini seharusnya tidak terlalu sulit. Jika Anda tidak ingin langsung melompat ke yang paling sulit, mungkin ini tantangan pertama yang menyenangkan :)
Catatan: Ketika saya membaca pertanyaan, saya mengatakan: Keluaran angka, bukan keluaran string. Outputnya terlihat seperti ini di TIO:
Dan akan terlihat seperti ini jika sudah
format long
atau Anda dapat mencetaknya seperti ini:
Apa yang saya miliki, dan penjelasan:
Sederhana seperti itu. =)
Dijelaskan:
Biasanya Anda akan menulis ini sebagai
prod('prodprod')
:, tetapi Oktaf memperlakukan apa pun yang muncul setelah nama fungsi sebagai string (array karakter). Ini secara implisit dikonversi ke nilai ASCII mereka, dan dikalikan bersama.sumber
MATL, 4 byte, 4 unik, 16 poin. Retak
Keluaran:
Apa yang saya miliki:
sumber
Java 8 (program penuh), 97 total byte, 34 unik, 3298 poin ( Cracked oleh @RobertoGraham )
Keluaran:
CATATAN: Ini adalah program lengkap. Jika fungsinya berupa
()->
diizinkan sebagai gantinya:Java 8 (fungsi lambda), 40 total byte, 18 unik, 720 poin ( Cracked by @ user202729 )
Ini mungkin cukup sulit, tapi apa pun .. Ini tidak seperti Jawa akan memenangkan apa pun dengan jumlah poin ini ..
Petunjuk:
Solusi yang dimaksudkan:
Cukup lucu (dan mengesankan) bagaimana kedua retakan yang diberikan benar-benar berbeda dari apa yang ada dalam pikiran saya, tetapi chapeau untuk kedua kerupuk!
sumber
MATL, 11 byte, 10 unik, 110 poin. AMAN!
Keluaran:
Hanya untuk "membantu" Anda satu jalan:
Ini adalah produk dari:
dan itu kurang satu dari
372884884433
prime rd.Dan berikut ini beberapa tips nyata. Jika tidak retak dalam beberapa jam maka saya akan mengungkapkan solusinya.
Kode asli:
Penjelasan:
sumber
Haskell , 10 byte, 3 unik, 30 poin, retak
Angka yang bagus yang berisi setiap digit, meskipun hanya 3 byte unik yang digunakan.
Solusi yang dimaksud berfungsi dengan mengganti bagian kode di tautan TIO berikut: Cobalah secara online!
sumber
Haskell , 29 byte, 15 byte unik, 435 poin, retak
Ini adalah string yang berisi
3
73 kali, dan satu licik4
.Solusi yang dimaksud berfungsi dengan mengganti bagian kode di tautan TIO berikut: Cobalah secara online!
Edit: H.PWiz menemukan celah yang valid (yang bahkan bisa di-golf hingga 28 byte), tetapi bukan solusi yang dimaksudkan.
Petunjuk:
sumber
Mathematica, 8 byte, 3 unik, 24 poin Retak
sumber
Meledak , 9 total byte, 4 unik, 36 poin
Keluaran:
Perhatikan bahwa dokumentasi tidak sepenuhnya selaras dengan implementasi untuk bahasa ini - saya menulis ini satu hari dan belum menyentuhnya sejak itu, jadi setiap bug dalam implementasi yang mungkin ada sekarang pasti fitur.
Juga, saya tidak berpikir bahasa ini Turing-lengkap, jadi Anda mungkin bisa memaksanya, tapi itu membosankan.
Saya akan memberi Anda karunia yang cukup besar jika Anda dapat mengotomatiskan hasil rekayasa balik menjadi kode Explode pendek yang optimal.
sumber
Oktaf, 4 byte, 3 unik, 12 poin: retak
Mari kita lihat seberapa cepat ini berjalan.
sumber
Pyth, 7 byte, 6 unik, 7 * 6 = 42 total skor
Lihatlah utas kiat Pyth untuk mendapatkan inspirasi;)
sumber
Jelly , 3 byte × 3 unik = 9 poin, retak
Cobalah online!
Upaya lain di Jelly, kali ini lebih menantang saya harap.
sumber
Alice , 9 byte x 8 unik = 72 poin Retak
Cobalah online!
Yang ini harusnya lucu untuk dipecahkan
sumber
Excel, 22 byte, 16 unik, 352 poin, Retak
Ini mungkin tidak terlalu sulit untuk dipecahkan, tetapi saya bisa menggunakan fungsi yang sebelumnya tidak pernah saya gunakan. Selain itu, skor tidak akan memenangkan apa pun kecuali banyak orang lain yang retak.
sumber
PowerShell, 7 byte, 5 unik = 35 poin Retak
Keluaran:
sumber
Jelly , 8 byte * 6 unik = 48 ( Retak )
Anda dapat mencoba memecahkannya di sini .
sumber
Haskell , 30 byte, 17 unik, 510 poin, retak
Solusi yang dimaksud berfungsi dengan mengganti bagian kode pada tautan TIO berikut: Cobalah secara online!
Ini menggunakan pendekatan yang sama dengan jawaban saya sebelumnya , yang dipecahkan menggunakan pendekatan yang berbeda.
Beberapa petunjuk:
sumber
Javascript,
11
Bytes,7
Unique Bytes (77 poin) (Retak)Ini seharusnya sangat mudah.
sumber
Jelly , 8 byte , 2 unik, 8 × 2 = 16 poin - Aman!
(Hanya ada 8.355.840 program yang mungkin jadi saya rasa harus dipecahkan.)
Dapatkan di Coba online!
Bagaimana?
sumber
°
, tetapi tidak memikirkan⁾
dan berpikir Anda harus tetap mulai dari 0.⁽
berbeda dari⁾
, mereka tidak terkait dengan cara apa pun (kecuali bahwa mereka mengkonsumsi dua karakter yang mengikuti).⁽
.Jelly , 4 byte , 4 unik, 4 × 4 = 16 poin - Aman!
Note that the output is 255 bytes long, right at the limit.
Yep, same score as my other (as yet uncracked) Jelly entry.
Get going at Try it online!
How?
sumber
r
between two code-page index lists and concatenate with another code-page index list to get it down to 35 bytes, but there are also still repeated bytes there and 35 >> 4... good luck!C (two's complement machine, sizeof(int) = 4), 76 bytes and 35 unique bytes for a score of 2660, Safe
Output:
which is 203 bytes long.
sumber
main(i){for(;42>i;printf("%u","eirwtlegowvnfemuwphejsno"[abs(24-i++)]-'n'));}
'N'
to78
(char code ofN
).CJam, 15 bytes * 10 unique = 150 points
Bad score, but hopefully will be hard to crack.
Note: At the moment I have forgotten what the answer is. As such, I will keep it open until either I or somebody else is able to crack it.
sumber
CJam, 15 bytes * 10 unique = 150 points
Note: At the moment I have forgotten what the answer is. As such, I will keep it open until either I or somebody else is able to crack it.
sumber
Japt, 5 bytes, 5 unique bytes (25 points) (Cracked by Scrooble)
Output:
3628801
sumber
Perl 5, 31 Bytes, 18 Unique Bytes (558 points) -- safe
Intended solution (Try it online!):
(this calculates the factorial of 111)
sumber