The Mystery String Printer (Polisi)


60

Utas perampok dapat ditemukan di sini: The Mystery String Printer (Perampok)

Tantangan anda

  • Tulis program, fungsi, atau skrip REPL yang mencetak string ke STDOUT.
  • Perampok akan mencoba membuat program yang mencetak string yang sama.
  • Jika mereka berhasil membuat program dalam 7 hari, kiriman Anda sudah di-crack.
  • Jika tidak ada yang bisa membuat program yang mencetak string yang sama dalam 7 hari, kiriman Anda aman. Anda dapat memilih untuk mengungkapkan program Anda, atau membiarkannya menantang perampok masa depan. Namun, jika Anda tidak mengungkapkannya, Anda tidak bisa mendapatkan poin dari kiriman Anda (jangan cantumkan "aman" di tajuk jawaban jika Anda memilih untuk melakukan ini).

Batasan

  • Program harus kurang dari atau sama dengan total 128 byte (lebih lanjut tentang ini nanti).
  • Jika program tergantung pada nama program, atau nama / isi file eksternal, Anda harus mengatakan itu, dan memasukkannya ke dalam jumlah byte total Anda.
  • String yang dicetak harus kurang dari atau sama dengan 2048 byte.
  • String yang dicetak harus terdiri dari hanya karakter ASCII yang dapat dicetak (baris baru dapat dimasukkan).
  • Program harus menghasilkan output yang sama setiap kali dijalankan.
  • Primitif kriptografi bawaan (termasuk rng, enkripsi, dekripsi, dan hash) tidak diizinkan.
  • Program tidak boleh mengambil input.
  • Tidak ada celah standar.

Mencetak gol

  • Jika kiriman retak sebelum tujuh hari, kiriman mendapat 0 poin.
  • Pengajuan yang aman dari ≤128 karakter menghasilkan 1 poin.
  • Pengajuan yang aman dari ≤64 karakter menghasilkan 2 poin. Jika kurang dari atau sama dengan 32 byte, ia menghasilkan 4 poin, dan seterusnya.
  • Setiap pengiriman yang aman juga menghasilkan bonus 3 poin tambahan (terlepas dari panjangnya).
  • Ada penalti kecil (1/2 poin) untuk setiap retak setelah yang pertama.
  • Perhatikan bahwa solusi perampok harus dalam kisaran panjang program yang sama.
  • Setiap orang dapat mengirimkan maksimum 1 program per rentang byte per bahasa (versi berbeda dan penggantian sewenang-wenang dari bahasa yang sama tidak dihitung sebagai bahasa terpisah). Contoh: Anda dapat memposting program pyth 32 byte dan 64 byte, tetapi Anda tidak dapat memposting program 128 byte di Java 7 dan Java 8.
  • Orang dengan total poin tertinggi akan menang.

Pengajuan

Setiap pengajuan harus memiliki informasi berikut:

  • Nama bahasanya. Semua solusi perampok baru harus bahasa yang sama.
  • Rentang ukuran program (ini adalah kekuatan terdekat dua lebih tinggi dari ukuran program; misalnya, jika program Anda adalah 25 byte, ini akan menjadi "≤32").
  • String aktual yang akan dicetak.
  • Jika kiriman aman, masukkan "aman" dan panjang program (dengan kekuatan terdekat 2) di header Anda. Jika ada beberapa angka di tajuk Anda, taruh kekuatan 2 terakhir.

Cuplikan tumpukan ini menghasilkan papan peringkat dan daftar semua kiriman terbuka. Jika ada masalah dengan cuplikan, silakan tinggalkan komentar.

Gunakan format berikut untuk entri:

Language, (any text with the program size as the last number)
=

atau

Language
=
Length <= 16

Perhatikan bahwa cuplikan hanya akan menempatkan kata pertama di header sebagai bahasa jika tidak mendeteksi koma.

Untuk pengiriman yang aman, simpan aman di tajuk Anda. Cuplikan akan secara otomatis menempatkan program Anda di kolom "aman" jika waktunya habis, jadi ini lebih untuk memberi tahu perampok bahwa program Anda aman.

Untuk pengiriman yang retak, masukkan yang retak di header Anda.

Program juga harus dapat mengenali jika ada komentar yang mengatakan "crack" dan memiliki tautan; Namun, ini tidak dijamin.

Pesanan Tiebreak: Poin -> # pengiriman aman -> Jumlah paling sedikit dari pengiriman yang retak.

Perhatikan bahwa cuplikan menyortir dengan pengiriman terbuka sebelum setidaknya retak, tetapi pengiriman terbuka tidak akan dihitung pada akhir kontes.

Tantangan ini sekarang ditutup.

Pemenang poin terbanyak: Dennis

Kiriman paling aman: DLosc

(Perhatikan bahwa jumlah pengiriman yang aman tidak diterjemahkan ke jumlah poin, karena ukuran program dipertimbangkan dalam menghitung skor).


5
Kita harus mengingatkan para polisi bahwa output harus lebih baik daripada ukuran program, untuk mengurangi solusi sepele seperti codegolf.stackexchange.com/a/60395 dan codegolf.stackexchange.com/a/60359
kennytm

2
@ bookmark Harus ada cara untuk mengeksekusi bahasa, dan bahasa tersebut harus dapat menampilkan serangkaian karakter ASCII. Jika Anda ingin menggunakan HQ9 +, selamat, Anda baru saja mendapatkan kiriman yang retak.
Daniel M.

3
@Banda saya lebih suka tidak, tapi saya tidak akan menghentikan Anda.
Daniel M.

15
Semua output angka saja super membosankan.
mbomb007

4
Harap pertimbangkan untuk menggunakan Sandbox di waktu berikutnya. Lebih disukai, aturan tantangan tidak boleh berubah sama sekali setelah diposting. Saya sudah lupa berapa kali peraturan berubah di sini ...
Dennis

Jawaban:


20

Pyth, Safe, Range ≤ 8

['ashva', 'cxedo', 'ecckc', 'hhzsq', 'jmwze', 'lrths', 'nwrog', 'pbowu', 'rgldi', 'uljlw', 'wpgsk', 'yuday'

Kode:

%^T6`^G5

Penjelasan:

Untuk memperjelas cara kerjanya: Saya menghasilkan semua kemungkinan 5 karakter huruf kecil ( ^G5). Lalu, saya membuat representasi string dari daftar ini: ( `^G5). Akhirnya, saya mengambil setiap karakter 1.000.000 daftar itu ( %^T6). Hasilnya adalah sesuatu yang terlihat seperti daftar string, tetapi curiga hilang braket ujungnya.


apakah tidak ada yang dekat ]?
Maltysen

1
@Maltysen Nggak.
isaacg

4
Melihat item kedua sebagai "xCode" diacak, mengira itu mungkin daftar IDE yang diacak, tetapi saya tidak dapat mengidentifikasi yang lain: o
Albert Renshaw

1
Yang tangguh! Saya menemukan pola dalam string, tetapi tidak tahu bagaimana cara menghasilkannya dalam <= 8 byte.
Fabian Schmengler

16

VBA, [Aman]

Rentang <= 128 byte

Petunjuk kemana akan keluar

Berlari di Excel 2007, hasilnya adalah ke Debug.print. Keberuntungan VBA-nya mendapatkan apa pun di bawah 128 byte untuk dijalankan.

Output 255 byte

 This array is fixed or temporarily locked THIS ARRAY IS FIXED OR TEMPORARILY LOCKED this array is fixed or temporarily locked This Array Is Fixed Or Temporarily Locked I n v a l i d   p r o c e d u r e   c a l l   o r   a r g u m e n t  ?????????????????

Larutan

Yah saya harap seseorang bersenang-senang mencoba memecahkan yang ini. Saya dapat mengatakan bahwa ini adalah beberapa penanganan kesalahan terburuk yang pernah saya lakukan dan merasa buruk karena buruknya kode ini.

Kode

    Sub e()
    On Error Resume Next
    Err.Raise 10
    For i = 0 To 128
    b = b & " " & StrConv(Err.Description, i)
    Next
    Debug.Print b
    End Sub'

Dijelaskan

Pertama kode dimulai dengan salah satu dosa utama VBA. On Error Resume next.
Begitu kita melakukan tindakan mengerikan itu, kita maju terus dan melempar kesalahan. ini adalah This array is fixed or temporarily lockedKesalahan yang akan segera kita lihat di output.

Berikutnya adalah loop. Kami mengulangi 128 kali mencoba untuk Mengkonversi Deskripsi Kesalahan, Tetapi hanya input yang valid untuk i are 1,2,3,64,128. Karena ini, 4 loop pertama mencetak Kesalahan dengan Berbagai Format. Kemudian ketika i = 4kode melempar Kesalahan baru Invalid callKemudian itu loop dan tidak ada yang ditugaskan bkarena strconvfungsi kesalahan keluar setiap kali.

Di sinilah setiap program normal seharusnya berhenti, Tetapi karena kita memiliki On Error Resume Nextsetiap kesalahan diabaikan dan kode terus tidak terpengaruh oleh penanganan kesalahan yang buruk

Sekarang kita tekani=32dan kami menambahkan kesalahan baru untuk bdikonversi ke Unicode dan kemudian melanjutkan perulangan sampai i = 128pada titik mana kami mengubah kesalahan kami DARI Unicode yang menghasilkan ?????????????????string yang ditambahkan ke b

Akhirnya Cetak kekacauan yang telah kami selesaikan bersama


14

Mathematica, aman, kisaran ≤ 64

Keluaran:

CGTAGGCCCATTTTGTGTGAATTGCGGTGCAGCGAGCGATATGTTGTCTGGGCACGGACGCAGAGTTAGGGTAGCTGGTG

Sumber:

Print@@Characters["GATC"][[1+First@RealDigits[Pi,4,80]]]

6
Sekarang saya harus melakukan GenomeLookupsemuanya ...
LegionMammal978

3
Benarkah! Apa yang memberikannya?

2
Mungkin saya harus mengubah surat-suratnya!

1
Lol, dengan begitu banyak karakter yang diulang dan 64 byte yang bisa digunakan, Anda bisa dengan mudah membuat fungsi cukup cetak string itu dengan mudah. xD
Albert Renshaw

4
Saya telah menambahkan sumbernya. Ini tentu saja BUKAN apa pun yang terkait dengan genom, tetapi lebih dari 80 digit pi pada basis 4, dikodekan menggunakan "GATC" untuk membuat orang berpikir tentang heliks ganda.

12

ngn APL (aman)

0.675640430319848J0.8376870144941628

Kisaran ≤ 8

Larutan

*3○⍟⍣=42

Cobalah online.

Bagaimana itu bekerja

  • ⍟⍣=42menerapkan logaritma natural ( ) berulang kali ke 42 hingga titik tetap tercapai ( ⍣=), menghasilkan 0,31813150520476413J1.3372357014306895 .

    Nilai awal tidak terlalu penting di sini, asalkan bukan 1 atau 0 .

  • 3○berlaku singgung argumen yang benar, menghasilkan 0,07343765001657206J0.8920713530605129 .

  • * menerapkan fungsi eksponensial alami ke argumen yang benar, menghasilkan output yang diinginkan.


Nilai absolutnya tidak cukup 1. Menarik.
lirtosiast


8

> <> (Aman)

Diuji pada penerjemah online dan resmi.

Rentang: <= 16

Tali: 4621430504113348052246441337820019217490490

Ini cukup 1337, ya?

Penjelasan:

Berikut kode sumber (15 byte):

f1-:0(?;::0g*n!

fmendorong 15 (penghitung kami) ke tumpukan (ini dilewati oleh !pada akhir agar tidak mendorong lebih dari satu penghitung)

1- kurangi 1 dari penghitung

:0(?; Wajah berkerut menguji apakah penghitung kurang dari 0, sisanya mengakhiri program jika itu

:: Gandakan penghitung dua kali

0gRaih karakter pada titik (c,0)di kode sumber di mana cpenghitung

* Mengalikan duplikat kedua penghitung dengan representasi ASCII dari karakter yang sebelumnya diraih

n Mencetak hasilnya.

Jadi, berpisah, outputnya [462, 1430, 504, 1133, 480, 522, 464, 413, 378, 200, 192, 174, 90, 49, 0]. Ini sesuai dengan interpretasi ASCII dari kode secara terbalik dikalikan dengan angka 14 hingga 0 (yaitu [!*14, n*13, ... f*0]).

Mungkin bagian tersulit tentang memecahkan ini adalah mencari cara untuk membagi angka-angka dengan benar, tetapi jika Anda mendapatkan yang benar, itu hanya masalah mencoba sampai Anda mendapatkan sesuatu yang berhasil.


8

Snowman 1.0.2

Kisaran ≤32.

110110111011011001111100111111111101111110101000101000100001100001100011100011101110110111011011111011111011101011101111101111110111110111111011110101111010111100101100101001111001111111011111011010111010111000000100000011111001111100

Solusinya adalah:

"mO~(!#]/.}{k2'=+@|":2nBspsP;aE

Ini adalah bahasa yang aneh ... perlu
dipikirkan

3
Hampir di sana ... tetap mendapatkan segfault 11 ...
GamrCorps

7

Matlab, ≤16. Retak oleh Wauzl

Kisaran ≤16 .

Ini bekerja di oktaf juga.

String yang dicetak adalah sebagai berikut:

ans =

     0     0     0     0     0     0     0     0     0
     0     0     0     0     9     4     0     0     0
     0     0     0     0    32    18     0     0     0
     0     0     0     9     1     0     3     0     0
     0     0     7     0     0     2    10     0     0
     0     0     3     0     2     2     3     0     0
     0     0     0    19    63    22     1     0     0
     0     0     0     4    13     4     0     0     0
     0     0     0     0     0     0     0     0     0

3
Kerja bagus, saya mencoba membuat sesuatu seperti ini, tetapi yang ini sangat bagus, saya benar-benar tidak tahu bagaimana ini seharusnya bekerja =)
flawr


7

Perl (aman)

84884488488444224424428844884884884488488444224424428844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442442244244244224424422211221221221122122144224424424422442442221122122144224424424422442442221122122144224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212218844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442884488488488448848844422442442442244244288448848848844884884442244244288448848848844884884442244244244224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212218844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442884488488488448848844422442442442244244288448848848844884884442244244288448848848844884884442244244244224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212212212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422442442442244488488448848848844882442442244488488448848848844882442442244244244224448848844884884884488244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448812212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422442442442244488488448848848844882442442244488488448848848844882442442244244244224448848844884884884488244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448812212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422441221221122244244224424424422441221221122244244224424424422441221221122122122112224424422442442442244244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448824424422444884884488488488448824424422444884884488488488448824424422442442442244488488448848848844882442442244488488448848848844882442442244488488448

Kisaran ≤ 32

Larutan

print 2**y/124589//for-951..1048

Cobalah online.

Bagaimana itu bekerja

  • for-951..1048 mengeksekusi perintah sebelumnya untuk setiap integer dalam rentang ini, menyimpannya dalam variabel implisit.

  • y/124589// melakukan transliterasi, menghilangkan digit yang ditentukan dari variabel implisit.

    y/// akan mengembalikan jumlah eliminasi, yaitu jumlah kemunculan digit tersebut dalam variabel implisit.

  • print 2**mencetak 2 dengan kekuatan eliminasi ( 1 , 2 , 4 atau 8 ).


7

Python, <= 16 ( dipecahkan oleh kennytm )

[[[22111101102001]]]

Ini diproduksi melalui REPL (menjalankan perintah dalam shell Python).

Sementara saya mengedit ini, saya juga akan merangkum komentar untuk perampok bebas spoiler masa depan: ini tidak bekerja di semua Python. Itu berfungsi dalam membangun Python 2.7 di mana sys.maxint = 9223372036854775807.


2
Ini sangat sulit.
J Atkin

1
Apakah itu berfungsi baik di Python 2 dan Python 3?
DLosc

1
Eep. Hanya Python 2, maaf.
histokrat

1
Berarti itu pasti tidak bekerja di Python 3?
DLosc

1
Itu isyarat, tapi ya, saya berjanji itu tidak bekerja di Python 3.
histocrat


6

TI-BASIC, ≤4 byte, dipecahkan oleh Reto Koradi

Butuh 5 hari 23 jam untuk retak. Sangat dekat ...

Output (10 byte):

.495382547

Program:

³√(tanh(7°

Karena pada dasarnya mustahil bagi seseorang untuk menebak ini, tujuan saya dalam mendesain program ini adalah menjadikan brute force sebagai satu-satunya pendekatan yang mungkin.

Untuk melakukan ini, saya mencegah output, atau output dengan salah satu fungsi terbalik ini diterapkan, muncul di ISC. ISC tidak memiliki garis singgung hiperbolik, dan saya pikir tidak akan ada alat serupa tanh(7°.

Untuk menambahkan keamanan terhadap brute force, saya menggunakan konversi derajat ke radian, fitur yang sedikit tidak jelas, tetapi itu tidak cukup.


10
@Conor O'Brien Anda hanya perlu 10 byte untuk menulis desimalnya sendiri!
Arcturus

1
Berikut adalah daftar semua perintah TI-84 + BASIC, serta dokumentasi lengkap.
lirtosiast

2
Agar jelas juga, Thomas (dan saya berasumsi kebanyakan orang) menganggap hal-hal seperti sin(1 byte pada TI-BASIC. Jadi sesuatu seperti sin(sin(sin(ehanya akan menjadi 4 byte.
Albert Renshaw

1
Bahkan, untuk semua yang kita tahu, dia bisa menggunakan fPart(.
LegionMammal978

1
@AlbertRenshaw Ya, saya mengerti itu. Dokumentasi yang ditautkan Thomas mencantumkan "ukuran token" untuk setiap operator. Saya kira itulah yang kami hitung, dan bahwa operator yang ia gunakan kemungkinan besar akan datang dari daftar ini: tibasicdev.wikidot.com/one-byte-tokens .
Reto Koradi

6

CJam, ≤ 8 [aman]

379005901358552706072646818049622056

Saya tidak suka nomor yang panjang, jadi ini yang pendek. Jangan ragu untuk bermain-main baik offline maupun online .

Karena saya menemukan kiriman hanya nomor cukup membosankan, saya akan perlahan memberikan beberapa petunjuk untuk mengkompensasi.

Petunjuk 1: Program berakhir dengan satu nomor tumpukan, dan tidak ada A-Kvariabel yang digunakan.
Petunjuk 2: Angka mengkodekan informasi yang benar-benar dapat diambil jika Anda membalikkan prosesnya (yaitu tidak ada informasi yang hilang).
Petunjuk 3: "informasi" dari petunjuk 2 adalah string tunggal yang dibuat setelah empat karakter pertama.


Larutan

Programnya adalah

0W#sWcib

0W#adalah 0^-1, yang bukannya memberi kesalahan Infinity. skemudian melemparkan ini ke string (catatan yang `memberikan 1d0/gantinya).

Untuk setengah lainnya, Wckonversi -1 ke char, yang menjadi titik kode 65535 karena sampul untuk karakter (lihat tip ini ). ikemudian mengubah char kembali ke int, yaitu 65535.

Akhirnya, bubah string Infinityke basis 65535 untuk memberikan angka di atas.


6

Javascript (konsol), <= 32 ( dipecahkan oleh insertusername di sini )

"a,a,0,a,b,a,a,b,a,a,4,a,b,a,a,a,a,6,a,b,a,a"

Diuji di konsol web Chrome dan Firefox. Itu string 43 karakter.

Solusi yang saya maksudkan sedikit lebih rumit daripada yang tertaut (mengutuk Anda, ES6!).

'a, b, a, a'.replace (/ (a) / g, Array)

Penjelasan:

Saat Anda memanggil replacedengan Ekspresi Reguler dengan /gbendera dan fungsi, itu menggantikan semua yang cocok dengan regex dengan hasil memanggil fungsi dengan argumen berikut: String yang cocok, setiap grup tangkap dalam string yang cocok, indeks string yang cocok memiliki dalam seluruh string, dan seluruh string. Dalam hal ini, itu akan menjadi "a", "a", 0 atau 4 atau 6, dan "a, b, a, a". Semua argumen ini diteruskan ke konstruktor Array, yang hanya membuat array dari segala sesuatu yang dilewatkan. Kemudian replacemengubahnya menjadi string, misalnya "a, a, 0, a, b, a, a" dan menggantikan "a" karakter dengannya.


Turunkan ke 37 byte. Sepertinya hex, jadi harap itu bisa membantu.
mbomb007


1
Saya tidak dapat memilih lagi, tetapi itu adalah program yang cukup bagus.
masukkan nama pengguna

5

Python, <= 32 ( dipecahkan oleh Egor Skriptunoff)

Output adalah 1832 byte, termasuk baris baru:

163
485
559
1649
2707
8117
8415
24929
41891
124133
142639
423793
694675
2075317
2162655
6357089
10682531
31785445
36635183
108070513
177408659
531963829
551493855
1633771873
2745410467
8135173349
9347869999
27774121841
45526653331
136007297717
141733920735
416611827809
700079669411
2083059139045
2400886719023
7082401072753
11626476472979
34862249549749
36142149804255
107069239746913
179920475038627
533147175478501
612629840276783
1820177075697521
2983606407043475
8913418645908149
9288532499693535
27303489359118433
45881121294188707
136517446795592165
157346912904610351
464159319105013361
761964388609624723
2284767248741900213
2368648071721459935
7016996765293437281
11791448172606497699
34940303480791033061
40148795925132553519
119288945009988433777
195535487181321247123
584146895667469134517
608742554432415203295
1789334175149826506849
3006819284014656913571
8946670875749132534245
10311729937203639353903
30418680977547050616433
49935336207531756227219
149732221646300430475189
155229351380265876857055
459858883013505412260193
772752555991766826787747
2289849682101787770873061
2631225127929856733097263
7817601011229592008423281
12814491939404182769539475
38282841570818685533137589
39893943304728330352263135
117267593836794179779362913
197057915416468570144702627
586337969183970898896814565
675799844894514912336740911
1993549095225501056249169521
3272612129033008707863251603
9813000610033591312052461493
10173266001408484771580813535
30137771616056104203296268641
50643884262032422527188575139
150067460764265635881358255333
172437765505860562200296238383
512342117472953771456036566897
839818522529453467650609486227
2508891813142320379359897758389
2614529362361980586296269078495
7685131765672974922140201517153
12914190492831906312462400487587
38425658828364874610701007585765
44288542855785494654395594310191

Saya melihat pola 4s.
J Atkin


@ EgorSkriptunoff Yap - Saya menggunakan struktur pengulangan yang berbeda, tetapi selain itu logika yang sama.
DLosc

@Dosc - Apakah bisa dibuat lebih pendek dengan loop lain?
Egor Skriptunoff

@EgorSkriptunoff Saya menggunakan teknik golf Python - saya tidak akan memposting kode saya karena saya mungkin melakukan sesuatu yang serupa di jawaban lain, tetapi Anda dapat menemukan konsep di halaman tips Python .
DLosc

5

CJam ( retak oleh Dennis)

Panjang <= 4

1737589973457545958193355601

Saya tidak memberikan ini kesempatan hidup yang sangat tinggi, tetapi saya ingin mencoba solusi 4 byte.

Kode saya persis seperti yang direkayasa terbalik oleh Dennis:

H     Push 17
J     Push 19.
K     Push 20.
#     Power.

CJam kemudian mencetak semua konten stack, digabungkan. Jadi hasilnya 17disatukan dengan 19^20.



@ Dennis Ok, secara resmi ditandai sudah retak. Aku tidak benar-benar berharap itu bertahan, tapi aku tetap tertarik: Apakah kamu dengan kasar memaksanya? Atau apakah Anda memiliki tebakan yang baik tentang apa yang mungkin saya lakukan?
Reto Koradi

1
Outputnya terlalu besar untuk menjadi apa pun kecuali faktorial atau kekuatan, dan faktorial sebesar ini akan memiliki beberapa angka nol. Saya mulai dengan KK#, mencoba beberapa kekuatan lagi, dan akhirnya menemukan JK#.
Dennis

5

Lua, ≤ 4 ( retak oleh feersum)

Keluaran:

9.5367431640625e-07

Anda perlu menemukan string untuk Lua REPL yang menghasilkan konstanta "1 / M".
Ini sederhana, tetapi tidak terlalu sepele.


@ LegionMammal978 - Petunjuk: Dalam Lua 5.3 REPL kita dapat menghilangkan =sebelum ekspresi.
Egor Skriptunoff

Apa yang saya lakukan tahu, bagaimanapun, adalah bahwa tidak ada jawaban di sini ...
LegionMammal978

@ LegionMammal978 - Ya, tautan yang Anda berikan adalah tempat yang tepat untuk membaca. Anda sudah memiliki semua informasi yang Anda butuhkan. Pecahkan saja.
Egor Skriptunoff


non-solusi yang menarik:0x2p-21
daurnimator

5

Pip , <= 16 (aman)

Ini pengajuan Pip terakhir saya, saya janji. :)

0123456789
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0123456789

Saya akan terkejut jika ada yang mendapatkan ini hingga 16 byte - saya butuh beberapa upaya untuk membuatnya cocok. (Anggap itu sebagai tantangan jika Anda mau!)


Menjawab:

Px:J,tLtP09JsX8x

Kode ini memanfaatkan variabel yang telah ditentukan t= 10 dan s= spasi.

    ,t            Range(10)
   J              Join into string: "0123456789"
Px:               Assign to x and print
      Lt          Loop 10 times:
         09         This is a numeric literal, but it can act like a string "09" because
                    strings and numbers are the same data type in Pip
            sX8     8 spaces
           J        Join left arg on right arg: "0        9"
        P           Print
               x  Last expression in a program is autoprinted: "0123456789"

Ini keren sekali.
J Atkin

Hmm ... Setiap angka adalah nomor kolom, diindeks 0. : - /
ev3commander

@ Aykin saya pikir juga begitu. ^ _ ^ Penjelasan ditambahkan.
DLosc

Sangat bagus, dapatkan +1;)
J Atkin

4

Ruby, dipecahkan oleh kennytm

Kisaran: ≤64.

#<MatchData "@@" 1:"@" 2:"@">
"#<ArgumentError: unknown command \"\\x00\">\nu#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\nk#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\no#<ArgumentError: unknown command \"\\x00\">\nw#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\n #<ArgumentError: unknown command \"\\x00\">\nc#<ArgumentError: unknown command \"\\x00\">\no#<ArgumentError: unknown command \"\\x00\">\nm#<ArgumentError: unknown command \"\\x00\">\nm#<ArgumentError: unknown command \"\\x00\">\na#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\nd#<ArgumentError: unknown command \"\\x00\">\n #<ArgumentError: unknown command \"\\x00\">\n\"#<ArgumentError: unknown command \"\\x00\">\n\\#<ArgumentError: unknown command \"\\x00\">\nx#<ArgumentError: unknown command \"\\x00\">\n0#<ArgumentError: unknown command \"\\x00\">\n0#<ArgumentError: unknown command \"\\x00\">\n\"#<ArgumentError: unknown command \"\\x00\">\n@#<ArgumentError: unknown command \"\\x00\">\n@#<ArgumentError: unknown command \"\\x00\">\n"

(Dan ya, semua output ke STDOUT.)

Solusi yang dimaksudkan:

test'@@'=~/(.)(.)/ rescue p"#{$!}#{p$~}".gsub(//,$!.inspect+$/)


@kennytm Wow, saya terkesan. Anda bahkan berhasil menjadikannya satu karakter lebih pendek dari kode asli saya!
Gagang Pintu

4

TI-BASIC ( dipecahkan oleh Thomas Kwa )


Kisaran varian TI-89 : ≤8
Panjang output: 460

1257286521829809852522432602192237043962420111587517182185282167859393833998435970616540717415898427784984473447990617367563433948484506876830127174437083005141539040356040105854054119132085436114190914221684704295353373344661986220406465038338295680627940567692710933178603763184382721719223039895582218462276317539764129360057392146874652124017927952151332902204578729865820715723543552685154087469056000000000000000000000000000000000000000000000000000000000

Saya tidak berpikir Anda dapat menggunakan RIES untuk ini, tetapi saya ragu itu akan bertahan 7 hari. Baiklah.

Kode:

236!


Apa itu "REIS"?
mbomb007




4

Thue - <= 64 Bytes, dipecahkan oleh histocrat.

555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

Itu tahun 2016 5-an; ngomong-ngomong.



4

CJam, ≤8 (aman)

\"3.341594\43181\

Kode asli:

P`_`_`er

Artinya, untuk memulai 3.141592653589793dan mengganti setiap karakter "3.141592653589793"dengan karakter yang sesuai di "\"3.141592653589793\"". Dengan duplikat dihapus, itu sebenarnya diganti ".123456789dengan ""35\.49831.


4

Python 2 (aman 16)

(1.06779146638-0.024105112278j)

Rentang ≤ 16. Jika versi penting (untuk presisi pencetakan?), Saya menggunakan ideone .

Saya tidak melihat cara menebak kode tanpa pencarian komputer, tetapi Anda semua telah membuat saya terkesan sebelumnya.


Menjawab:

print.7j**8j**2j

1
Apakah ini REPL atau program lengkap?
lirtosiast

@ThomasKwa Program lengkap.
xnor

Digunakan dir(complex)untuk melihat ops apa yang didefinisikan untuk bilangan kompleks. Saya tidak tahu Anda bisa menggunakan modulus. Perhatikan bahwa ini kemungkinan tidak akan membantu, tetapi mungkin ...
mbomb007

3

JavaScript ES6, ≤128 byte - Retak

Output (1124 bytes):

00371223425266831021221451701972262572903253624014424855305776266777307858429019621025109011571226129713701445152216011682176518501937202621172210230524022501260227052810291730263137325033653482360137223845397040974226435744904625476249015042518553305477562657775930608562426401656267256890705772267397757077457922810182828465865088379026921794109605980210001102021040510610108171102611237114501166511882121011232212545127701299713226134571369013925141621440114642148851513015377156261587716130163851664216901171621742517690179571822618497187701904519322196011988220165204502073721026213172161021905222022250122802231052341023717240262433724650249652528225601259222624526570268972722627557278902822528562289012924229585299303027730626309773133031685320423240132762331253349033857342263459734970353453572236101364823686537250376373802638417388103920539602400014040240805412104161742026424374285043265436824410144522449454537045797462264665747090475254796248401488424928549730501775062651077515305198552442529015336253825542905475755226556975617056645571225760158082585655905059537600266051761010615056200262501630026350564010

Selamat bersenang-senang, dan semoga berhasil!

Kode asli:

new Array(254) .fill(0).map((x,s)=>s*s-s/((5-s)||3)).map(Math.floor).join``

Still safe :3
Conor O'Brien

1
Saya menikmati ini. Cracked
SLuck49

@ SLuck49 Saya memposting kode.
Conor O'Brien

3

TI-BASIC (dipecahkan oleh Thomas Kwa)

Rentang: <= 2

Tali: -10

Kode: Xmin

Tidak ada yang bisa menipu orang ini ...


Anda belum memecahkannya, bukan?
spaghetto

1
Saya akan sangat sedih jika Anda melakukan ini imo cukup pintar.
spaghetto

Dalam Python ini adalah ~9(bit inversi)
user193661

Tentu, tetapi Anda harus menjawabnya dalam TI-BASIC. Bagaimanapun itu tidak terlalu penting; Thomas sudah memecahkannya. Saya pikir dia menunggu untuk menjadi baik (?).
spaghetto


3

AppleScript, ≤ 2 Bytes Retak

"Brute terpaksa ... menggerutu ..."

Apa ini? Jawaban singkat AppleScript? :Hai

nilai yang hilang

(ya, ini TIDAK cetak ke stdout)


a=atau a- 1=atau 1-atau? Saya tidak tahu =)
flawr

Nggak. Itu akan dibuang ke STDERR sebagai kesalahan # -2741.
Addison Crump


1
@squeamishossifrage Anda dapat mempersingkat dengan satu byte menggunakan say"Cracked.", dan, jika Anda tidak keberatan tata bahasa, satu byte lagi dengan say"Cracked". c:
Addison Crump


3

GolfScript (aman)

44460233687688399109436699097976761322375660878906252846699686946304

Kisaran ≤ 8

Larutan

{9?7*}.%

Cobalah online.

Bagaimana itu bekerja

  • {9?7*} mendorong blok itu di tumpukan.

  • .% menduplikasi blok dan memetakannya ... dengan sendirinya.

    GolfScript melakukan casting tipe seperti tidak ada hari esok. Dalam kasus ini, penerjemah mengharapkan iterable, sehingga blok asli akan dilemparkan ke array, menghasilkan array kode karakter berikut: [57 63 55 42] .

  • Blok itu sendiri mengangkat setiap kode karakter ke kekuatan kesembilan ( 9?), kemudian mengalikan hasilnya dengan tujuh ( 7*).

    Untuk empat kode karakter dalam array, ini mendorong

    44460233687688399
    109436699097976761
    32237566087890625
    2846699686946304
    

    Sebelum keluar, juru cetak mencetak empat bilangan bulat, tanpa pemisah.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.