Temukan Kode Sumber Jalinan (Perampok)


13

Ini adalah utas perampok. Untuk utas polisi, buka di sini .

pengantar

Untuk tantangan Polisi / Perampok ini, polisi akan menulis program penghasil keluaran dan menjalinnya bersama. Adalah tugas perampok untuk memisahkan program polisi untuk menghasilkan hasil yang diinginkan.

Aturan perampok

Perampok akan mencoba untuk menemukan berbagai program yang orang-orang posting dalam pengiriman ke utas polisi (ditautkan di atas). Jika seorang perampok memecahkan kode polisi, mereka harus memposting program yang terpisah dan mencocokkannya dengan output mereka dalam jawaban di sini dan memposting bahwa mereka telah memecahkan kode pada jawaban polisi.

Mencetak gol

Ada dua komponen yang ditambahkan bersamaan ketika mencetak kiriman yang retak.

  • 2 dengan kekuatan sejumlah program yang berbeda yang digunakan dalam jawaban polisi
  • Putaran jumlah byte dalam menjalin bawah dengan kekuatan terdekat dari 2.

Misalnya, jika perampok retak TIliGoEnRsebagai TIGERdan lion, maka perampok menerima 2 ^ 2 + 8 = 12 poin.

Pemenang tantangan perampok adalah orang dengan poin terbanyak setelah periode waktu yang cukup bagi orang untuk berpartisipasi.


(Siapa yang ingin membantu dengan cuplikan?)

Jawaban:


6

Vitsy , 12 poin

'o'2\I/NO

Cobalah online!

a5F\aZ

Cobalah online!

The NaNdalam NaNoadalah giveaway mati.

Cara yang jelas untuk mendorong NaNadalah dengan membagi 0 dengan sendirinya, 2\Imendorong panjang input ( 0 ) dua kali, /melakukan pembagian, dan Nmencetak pelampung.

Kami pergi dengan pencetakan o, dan 'o'merupakan string literal yang Omencetak.

Karakter apa pun yang tersisa harus menjadi milik program lain. Bahkan, amendorong umpan baris, 5Ffaktorial 5 ( 120 ), \amengubahnya menjadi 120 baris umpan, dan Zmencetak seluruh tumpukan.


Sangat mewah, sangat indah. Sudah selesai dilakukan dengan baik. +1
Addison Crump

4

BitShift , 2 ^ 2 + 64 = 68 poin

benang polisi

0101100110110101001001010110111011101110111011101101010

cetakan ! ?

1011101110111011101110110101000000000110010101101101010

cetakan ? !

Kode

0101100110110101001001010110111011101110111011101101010 # '! ?'
01011001101101010 # '! '
0101              # XOR 0 with 128 
                  # Making current value 128 (1000 0000)
    10            # Bitshift 1 to left making 10000000 -> 01000000
      01          # Bitshift 1 to left making 01000000 -> 00100000  
        101       # XOR 00100000 with 1 making it 00100001
           101010 # print 00100000 which is binary for !
010010101         #
010               # XOR 00100001 with 1 making it 00100000
   010101         # print 00100000 which is binary for <space>
10111011101110111011101101010  # '?'
101               # XOR 00100000 with 1
   1              # Bitshift 1 to left making 00100001 -> 01000010
                      # This gets repeated till 01000010 becomes 0111111
101010                # print 0111111 which is binary for ?

Saya akan menambahkan beberapa deskripsi nanti (pisahkan kode di bagian yang mencetak masing-masing bagian)


Adakah yang bisa menjelaskan cara menghitung skor? Saya tidak begitu mengerti perhitungannya
Dennis_J

1
Sudah selesai dilakukan dengan baik. Skor dihitung oleh 2^programs + 256/bytes=points. Dalam hal ini 2^2 + 256/128=6 points. Saya pikir ini akan diedit, karena seperti sekarang, lebih sedikit program jumlah byte yang menerima bonus lebih tinggi untuk perampok. Yang terasa tidak menyenangkan
Bassdrop Cumberwubwubwub

1
@Bas Sampai kemarin, itu sudah berubah.
Arcturus

4

PHP , 68 poin

$c=tR;$h=s;$c=$h.$c._.$h.plit;echo$c($h);

Keluaran: Array

echo quotemeta('^/]'.co.'[$');

Keluaran: \^/\]co\[\$


Saya suka kiriman ini, karena bergantung pada beberapa fitur yang kurang dikenal - orang mungkin mengatakan kesalahan - dari PHP. PHP memungkinkan referensi fungsi ditugaskan ke variabel, jadi misalnya:

$f = function($a, $b) { return pow($a, $b); };
echo $f(2, 4);

akan melakukan apa yang Anda harapkan. Seperti yang akan:

$f = pow;
echo $f(2, 4);

... kecuali itu tidak melakukan apa yang Anda pikirkan. $f = powtidak menetapkan referensi fungsi $f(yang akan terlalu masuk akal, bukan?), melainkan string 'pow' . Implikasinya adalah bahwa string apa pun dapat digunakan sebagai panggilan fungsi, jika itu mewakili nama fungsi yang didefinisikan. Kode buruk menunggu untuk terjadi. Saya bahkan tidak tahu mengapa Anda menginginkannya ingin mengizinkan ini.

Kesalahan lain dari PHP, adalah nama fungsi dan kata kunci tidak peka huruf besar-kecil. Saya berharap saya bercanda. Begituecho pow(2, 4) ,, ECHO POW(2, 4)dan EcHo PoW(2,4)semuanya setara secara fungsional.

Kesalahan terakhir pada showcase adalah bahwa setiap kali array diketik sebagai string, seperti untuk dicetak, hasilnya selalu merupakan string yang sangat membantu Array . Luangkan waktu sejenak untuk merenungkan fakta bahwa seseorang benar-benar melakukan ini dengan sengaja.

Jadi dalam program pertama, @insertusernamehere membangun string stR_split, string ini digunakan sebagai referensi fungsi (yang, karena alasan di atas, benar-benar berfungsi), dan hasilnya, array, adalah output.


1
Kerja bagus yang disertai dengan penjelasan yang bagus. :)
insertusernamehere

3

Rubi , 68 poin

Pertama:

p %w(b n n s)*?a%?}

Kedua:

w,=?(.ord,40,?);"jivivi{2".bytes{|b|putc b-w}

Itu mengikuti cukup alami dari bekerja pada akhirnya, dengan putc.


1
Ups, saya punya solusi yang dimaksudkan sedikit berbeda dengan satu trik sintaksis yang lebih aneh, tapi saya rasa saya akan menyimpannya di saku belakang saya untuk tantangan lain. Sudah selesai dilakukan dengan baik!
histokrat

3

JavaScript, 68 poin

Utas polisi

Program pertama

Keluaran: ffttff

(![]+[])[+[]]+(![]+[])[+[]]+(!![]+[])[+[]]+(!![]+[])[+[]]+(![]+[])[+[]]+(![]+[])[+[]]

Program kedua

Keluaran: 1010

+!![]+[+[]]+(+!![])+(+[])

Menjalin

+     !!    []             +                [    +[]]          +      (+     !![])                 +     (+[])
 (![]+  [])[  +[]]+(![]+[]) [+[]]+(!![]+[])[ +[]]    +(!![]+[]) [+[]]+  (![]+     [])[+[]]+(![]+[]) [+[]]

2

Jawa, 132 poin

Utas polisi

Program pertama:

interface c{static void main(String[]g){System.out.println("Hell"\u002bg.length);}}

Program kedua:

class i{public static void main(String[]n){System.out.print("Bye!\n");}}

Output program pertama Hell0dan output program keduaBye!


Ah, saya terlambat satu jam. Kerja bagus.
Arcturus

2

Javascript , 132 poin

Program 1

var x;{;alert((f=>(f.reverse(f+~~f,Math.pow(2,Math.E))))(new Array(99).fill(0).map((x,i,f)=>i/3)).join("").replace(/../g,""))}

Program 2

try{"function";Object.keys(f)}catch(e){f=s=>!s?f(1):"";alert(f(f(f(0/0) +f(7/5)))+f(f)+`${f}`.split``.map(e=>e.charCodeAt()*23))}

Wah. Ini mengerikan.

Setelah banyak debug saya menemukan bahwa setelah memanggil (bagian dari) program ke-2, itu tidak akan berjalan lagi. Ini karena variabel global fmasih ditugaskan. Karena fditugaskan, mencoba / menangkap tidak gagal Object.keys(f). Saya tidak tahu apakah ini trik licik atau tidak disengaja tetapi itu membuat saya sakit kepala.

Juga, saya percaya output dari program pertama adalah platform spesifik.
/../gmenghapus semua karakter di komputer saya, karena regex .yang berarti karakter apa pun. /\../gNamun, dengan mengatasinya dengan karya - karya, saya harap seseorang dapat lebih menjelaskan hal ini. Juga, output saya rentan terhadap kesalahan pembulatan, mungkin beberapa variabel javascript global dapat mengubah ini?

Keluaran

32666666666666643233333333333336323166666666666668313333333333333231306666666666666830333333333333323029666666666666682933333333333332292866666666666668283333333333333228276666666666666827333333333333322726666666666666682633333333333332262566666666666668253333333333333225246666666666666824333333333333322423666666666666682333333333333332232266666666666668223333333333333222216666666666666821333333333333322120666666666666682033333333333332201966666666666668193333333333333219186666666666666818333333333333321817666666666666681733333333333332171666666666666668163333333333333216156666666666666615333333333333341514666666666666661433333333333334141366666666666666133333333333333413126666666666666612333333333333341211666666666666661133333333333334111066666666666666103333333333333410966666666666666933333333333334986666666666666683333333333333487666666666666677333333333333337666666666666667633333333333333656666666666666753333333333333354666666666666674333333333333334366666666666666533333333333333353266666666666666523333333333333352166666666666666713333333333333331066666666666666603333333333333330

Ini diuji pada chrome 46 (satu-satunya browser saya), Windows 7.

Saya harap ini masih merupakan pengiriman yang valid, meskipun outputnya berbeda


Ada tebasan di sana, saya tidak tahu bagaimana itu dilewatkan. Tapi pekerjaan bagus! Ini benar. Saya akan memperbarui kiriman saya ketika saya tidak di ponsel;)
Conor O'Brien

2

JavaScript (ES6) , 68 poin

Program 1

alert((c=>c.replace(/[a-z]/gi,a=>String.fromCharCode(("Z">=a?90:122)>=(a=a.charCodeAt(0)+13)?a:a-26)))("fvzcyr"))

Program 2

alert((b=>b.replace(/[a-zA-Z]/g,s=>String.fromCharCode(s.charCodeAt(0)+(s.toLowerCase()<'n'?13:-13))))("gbnfg"))

Program terjalin

 alaelretrt((((cb=>c=>b.replace(/.replace[a-(/[azA-Z]-z]/gi/g,a,s=>String=>String.fromCharCode(s.fromCharCode(("Z">=a.charCodeAt(0)?90:122)>=(a=a.charCodeAt(0+(s.toLowerCase())+13)?a<'n'?13:-13:a-26)))))))((""gfvbznfcyrg""))))
 al e r t  ( ( c =>c             .replace   (/[a     -z]/gi  ,a  =>String                       .fromCharCode(("Z">=a              ?90:122)>=(a=a.charCodeAt(0                 )+13)?a           :a-26)))    ( "  fv z  cyr " ))
   a l e rt ( ( b   =>b.replace(/        [a-    zA-Z]      /g  ,s        =>String.fromCharCode(s                     .charCodeAt(0)                           +(s.toLowerCase()       <'n'?13:-13        )))) ( "g  b nf   g "  ))

Ini akan menjadi jauh lebih sulit, jika polisi mencabik-cabik kata kunci. ;)


Saya menjalinnya secara manual dan malas, tapi pekerjaan bagus. Saya mencoba bersikap licik. Baiklah. Sebenarnya terima kasih telah memecahkan yang ini karena saya kehilangan Program asli yang tidak digerakkan entah bagaimana.
Pengguna Generik


1

Python 2 , 320 poin

print "This"
print "hello"
print "well"
print "no"
print "alas"
print "but"
print "oh"
print "done"
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.