Terbalik Direkayasa dari Keunikan (Robber's Thread)


11

Mengingat output dari program polisi ( o), byte-count ( n) dan jumlah byte unik ( c) yang digunakan, muncul dengan potongan kode yang sesuai yaitu npanjang byte dengan cbyte unik yang cocok dengan output polisi o.


Ini adalah utas perampok . Poskan solusi yang Anda crack di sini.

Thread COPS terletak di sini .


Perampok harus memposting solusi seperti ini:

#[Language], `n` Bytes, `c` Unique Bytes (Cracked)[Original Link to Cop Thread]

    [Solution]

(Explanation)

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.

Kemenangan

  • Pos yang tidak retak dengan c*nskor terendah , memenangkan utas polisi.
  • Siapa pun yang retak paling banyak memenangkan utas perampok, dengan retak paling awal mematahkan dasi.
  • Ini akan diputuskan setelah 10 jawaban aman, atau beberapa minggu.

Peringatan

  • Jika Anda merasa sombong, Anda dapat memberi tahu pengguna algoritma menggunakan tag spoiler .

Catatan: Juga, harap ingat untuk memperbaiki retakan, mereka biasanya merupakan bagian yang mengesankan.

Jawaban:



4

MATL , 4 byte, 4 byte unik, Stewie Griffin

1X2p

Cobalah online!

Penjelasan

1X2   % Push predefined literal: string 'double'
p     % Product of array. For strings it uses code points. Implicit display

Anda tahu semua literal yang telah ditentukan ... Saya tidak ... Itu tidak persis sama dengan yang saya miliki, tetapi tentu saja itu adalah produk dari 'double'. :)
Stewie Griffin

@StewieGriffin Ah, begitu, jadi Anda menggunakan sesuatu seperti 1X%p. Sebenarnya saya hanya tahu beberapa literal yang sudah ditentukan sebelumnya. Saya dengan kasar dipaksa untuk 9:"@X1pDberubah Xdan1
Luis Mendo

4

MATL , 6 byte, 3 unik, Luis Mendo

FFFTZF

Cobalah online!

Saya langsung mengenali hasilnya

1+0i 0+1i -1+0i 0-1i

sebagai akar 4-th persatuan, dan aku tahu bahwa fftpada [0 0 0 1]akan menghasilkan ini.

Butuh waktu cukup lama untuk mencari tahu yang FFFTakan mendorong [0 0 0 1]dan saya masih tidak yakin bagaimana cara kerjanya. EDIT: Luis Mendo menjelaskan itu Fdan T"lengket", jadi urutan Fdan Takan secara otomatis horzcatmereka bersama, karenanya, FFFTmendorong [0 0 0 1].

Ini diungkapkan secara ringkas dalam dokumentasi (setelah saya mencarinya):

Untuk vektor baris logis tanda kurung dapat dihilangkan; yaitu notasi [T F T]atau [TFT]dapat disederhanakan TFT. Sebuah pemisah mungkin diperlukan jika array logis baru berikut: TFT TT. Tapi itu tidak diperlukan dalam kasus lain: TFT3.5.


1
Fdan T"lengket". Jadi FFTmendefinisikan vektor baris[false, false, true]
Luis Mendo

@LuisMendo terima kasih, sudah jelas sekarang.
Giuseppe

4

Haskell , 29 byte, 15 unik, Laikoni

f<$>[1..74]
f 47='4'
f f1='3'

Cobalah online!

Saya sebelumnya memiliki dua solusi:

do;d<-[2..74];'3':['4'|d==47]    -- 29,16
do;d<-[-41..31];'3':['4'|d==4]   -- 30,15

ahh, komentar Laikoni membuat saya berpikir bahwa jawaban yang diperlukan adalah satu ekspresi ... terdekat yang saya dapatkan adalah ["34"!!(0^x^2)|x<-[-46..27]](28, 18).
Lynn

1
juga, saya tidak tahu Anda bisa menempatkan tanda koma tepat setelah doitu!
Lynn

1
Ya, saya punya ruang di sana untuk waktu yang lama sebelum menebak mungkin valid.
H.PWiz

@Lynn Laikoni telah mengklaim bahwa solusinya adalah ekspresi tunggal dalam obrolan
H.PWiz


3

JavaScript (ES6), Brian H.

Terima kasih @Milk untuk memperbaiki trailing terakhir '5'

f=f=>1/44.4

console.log(f())

Karakter unik: ., /, 1, 4, =, >,f


1
Yang ini menghasilkan tambahan 5 di akhir:_=_=>1/44.4
susu

@milk Itu memang terlihat lebih baik. Beri tahu saya jika Anda ingin mempostingnya dan saya akan menghapus yang ini.
Arnauld

Itu keren, Anda hanya dapat memperbarui posting Anda jika Anda mau. Saya mendapatkan ini dari membangun celah Anda.
susu

mengatakan itu mudah: p
Brian H.

3

Bahasa Wolfram (Mathematica) , 8 byte, 3 unik, Jenny_mathy

7!!!/77!

Cobalah online!

Kerusakan: di Factorial[7!!] / Factorial[77]mana !!faktorial ganda.

Pertama saya perhatikan urutan panjang 0pada akhirnya jadi saya kira itu mungkin semacam faktorial. FactorIntegermemberikan faktor terbesar 103, jadi saya coba n/103!, dan dapatkan faktor utama (negatif) terbesar berikutnya adalah 73. Tweak faktor untuk beberapa waktu memberi 105!/77!, maka saya pikir "sudah ada 3 simbol 7, !dan /, jadi cara untuk membuat 105 harus dari simbol-simbol itu!". Jadi saya mencoba 7!!(yang merupakan salah satu dari beberapa hal untuk dicoba) dan mendapatkan 105 sebagai hasil yang benar.




2

Jelly , 7 byte, 6 unik, Erik the Outgolfer

- Untuk beberapa alasan saya mulai dengan nol di hasil. Tanpanya saya akan memberikan
8,16!PP
solusi.


8,⁴!PP0

Cobalah online!

Bagaimana?

8,⁴!PP0 - Main link of a program taking no arguments and no input
  ⁴     - literal sixteen
8       - literal eight
 ,      - pair = [8,16]
   !    - factorial (vectorises) = [8!, 16!] = [40320, 20922789888000]
    P   - product = 40320 × 20922789888000 = 843606888284160000
     P  - product (no effect) = 843606888284160000
      0 - literal zero (just gets printed)
        - leaving STDOUT displaying 8436068882841600000, as required

... 8,⁴!’Puntuk 6 byte, 6 unik akan jauh lebih sulit untuk dipecahkan karena hasil 843585965494231681 ( 40319 × 2092278988799 ) tidak terlihat berbasis faktorial.


Alternatif: 8µḤ!×! (dengan spasi tambahan)
user202729

Atau 8,⁴!Pdengan 2 spasi tambahan (Atau qatau byte lain yang tidak diterapkan)
Jonathan Allan


2

PowerShell , 7 Bytes, 5 Bytes Unik, AdmBorkBork

1PB#---

Cobalah online!

Output 1125899906842624sama dengan 2^50dan 2^50 Bytessama dengan 1 Pebibyte. Kode sebenarnya hanya 3 byte, oleh karena itu saya menambahkan komentar di akhir.


Bagus. Saya pikir mengomentari sebuah komentar akan membuat orang terombang-ambing, tetapi sepertinya saya salah. :)
AdmBorkBork

2

Excel, 22 byte, 16 byte unik, EngineerToast

Solusi yang mungkin adalah:

=BAHTTEXT(2^(480-300))

Karakter uniknya adalah =BAHTEX()^02348-.

Saya menyadari bahwa BAHTTEXT digunakan ketika melihat output. Dengan menerjemahkan kembali output dari Thailand ke Bahasa Inggris, saya dapat menemukan nilai angka. Saya menduga itu adalah kekuatan 2, yang memang benar (yaitu 2 180 ). Ekspresi 480-300 = 180 kemudian dibangun untuk memastikan solusi berisi 22 byte dengan 16 unik.


2

Alice , 9 byte, 8 byte unik, Leo

/Yr@
\no/

Cobalah online!

Dibuka, ini nrYo@.

n  negate the implicit empty string: creates the string "Jabberwocky".
r  range expansion: produces a string that starts with J, 
   goes up in ASCII order to w, down to c, and then up to y.
Y  separate this string into even and odd positions
o  output the even positions
@  terminate

Kebetulan, orientasi mirror di kolom pertama sama sekali tidak relevan, jadi ini dapat dengan mudah dikurangi menjadi 7 byte unik.


Anda benar tentang cermin! Saya sudah terlalu berkarat dengan Alice :)
Leo


1

J , 8 byte, 6 byte unik, Bolce Bussiere

;p.p:i.9

Cobalah online!

Keluaran:

23 _0.677447j0.296961 _0.677447j_0.296961 0.125003j0.726137 0.125003j_0.726137 _0.379097j0.630438 _0.379097j_0.630438 0.518498j0.521654 0.518498j_0.521654

Petunjuk yang jelas adalah bahwa, dalam output yang diberikan, bilangan kompleks selalu muncul sebagai pasangan konjugasi. Itu membuat saya curiga dengan p.kata kerja, yang mengubah bentuk polinomial dan multiplier-dan-akar.

Jadi saya mencoba:

p. 23;(...those complex numbers)
   2 3 5 7.00001 11 13 17 19 23

Ya, pikiran saya benar. Daftar bilangan prima mudah. Monadic ;meratakan daftar array kotak menjadi satu linier sederhana. Ekspresi yang dihasilkan memiliki dua p dan dua titik, sehingga jumlah byte sempurna.



0

Jelly , 8 byte , 6 unik, Mr. Xcoder

7x7²¤ḌḤ²

Cobalah online!

Bagaimana?

7x7²¤ḌḤ² - Main link: no arguments & no input
7        - literal 7
    ¤    - nilad followed by link(s) as a nilad:
  7      -   literal 7
   ²     -   square -> 49
 x       - repeat elements -> [7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7]
     Ḍ   - convert from a decimal list -> 7777777777777777777777777777777777777777777777777
      Ḥ  - double -> 15555555555555555555555555555555555555555555555554
       ² - square -> 241975308641975308641975308641975308641975308641926913580246913580246913580246913580246913580246916
         - implicit print
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.