Ini adalah utas utas tantangan utama Unscramble the Source Code . Jika Anda merasa telah berhasil menguraikan salah satu jawaban polisi, Anda harus memposting solusi Anda sebagai jawaban untuk utas ini.
Sebagai pengingat, Anda memiliki satu upaya untuk memecahkan setiap pengiriman. Upaya cracking Anda akan menjadi versi kode sumber yang tidak diacak. Jika tebakan Anda cocok dengan deskripsi (karakter yang sama, output, dan tentu saja bahasa), dan Anda adalah tebakan yang benar pertama, maka Anda memenangkan poin. Penting untuk dicatat bahwa program Anda tidak harus sama persis dengan aslinya, cukup gunakan karakter yang sama dan memiliki fungsi yang sama. Ini berarti ada lebih dari satu jawaban yang benar.
Perampok dengan poin terbanyak (crack sukses) menang.
Papan peringkat
Terlalu banyak solusinya
- Martin Büttner: (Python 3, 16, matsjoyce) , (CJam, 15, Ypnypn) , (Mathematica, 29, Fox Wilson) , (JavaScript, 15, Caridorc) , (CJam, 52, user23013) , (Pyth, 11, isaacg) , (PHP, 22, kenorb) , (PHP, 13, kenorb) , (Ruby, 17, Doorknob) , (PHP, 49, bwoebi) , (Mathematica, 35, Tally) , (GolfScript, 13, Peter Taylor ) , (JavaScript, 25, Cris) , (JavaScript, 29, Cris) , (JavaScript, 26, Cris) , (Bash, 33, Debasis) , (JavaScript, 10, Cris), (Lua, 28, ChipperNickel) , (Mathematica, 18, Arcinde) , (JavaScript, 30, Qwertiy) , (CJam, 13, user23013) , (JavaScript, 41, Ismael Miguel) , (Ruby, 38, Doorknob) , (Marbelous, 36, es1024) , (PHP, 33, Ismael Miguel) , (JavaScript, 29, Joe) , (JavaScript, 28, Shawn Holzworth) , (Ruby, 35, histokrat) , (CJam, 19, Ypnypn) , (Ruby, 17, Stephen Touset) , (JavaScript, 36, MegaTom) , (JavaScript, 24, fogcityben) , (Python 3, 21, Reticality) ,(JavaScript, 10, Jamie Barker) , (JavaScript, 15, Jamie Barker)
20 sol
- feersum: (Python 3, 44, Sp3000) , (C, 70, es1024) , (MATLAB, 41, COTO) , (Brainfuck, 118, Sp3000) , (C, 30, Ethiraric) , (C, 28, Mig) , (Python 3, 46, hosch250) , (Java, 70, Rodolvertice) , (C, 29, imallett) , (Java, 226, nhahtdh) , (Little Man Computer, 63, The Wolf) , (Python 2, 89 , Beta Decay) , (Python 2, 41, muddyfish) , (C, 63, es1024) , (C ++, 192, Arcinde) , (Java, 108, durron597) , (C #, 604, eshansingh1) ,(C, 44, Seni) , (Jawa, 134, Olavi Mustanoja) , (Bash, 47, Vi.)
15 pemecahan
- user23013: (CJam, 18, Ypnypn) , (JavaScript, 26, hsl) , (CJam, 12, COTO) , (PHP, 23, bwoebi) , (PHP, 54, Steve Robbins) , (CJam, 32, Dennis) , (CJam, 19, Martin Büttner) , (Bash, 23, The Wolf) , (Ruby, 33, Doorknob) , (CJam, 34, Dennis) , (JavaScript, 82, Ismael Miguel) , (PHP, 80, Ismael) Miguel) , (QBasic, 43, DLosc) , (QBasic, 42, DLosc) , (ECMAScript, 90, Cris)
10 pemecahan
- Sssssrr squeamish: (Python, 44, Caridorc) , (PHP, 52, PleaseStand) , (Befunge-93, 17, user23013) , (BBC BASIC, 187, Beta Decay) , (C, 43, Allbeert) , (Ruby, 58, Rodolvertice) , (JavaScript, 32, hsl) , (PHP, 33, kenorb) , (Python 2, 16, imallett) , (PHP, 53, PleaseStand)
- Sp3000: (Python, 154, Fox Wilson) , (Python, 48, kgull) , (Python, 68, tanduk) , (Python 2, 38, FryAmTheEggman) , (Python 2, 57, FryAmTheEggman) , (Python, 74, xnor) , (JavaScript, 66, Cris) , (JavaScript, 70, Cris) , (Python 2, 37, muddyfish) , (Python, 55, FireFly)
7 pemecahan
- grc: (Python 2, 61, FryAmTheEggman) , (Perl 5, 47, chilemagic) , (Python, 69, Sp3000) , (Perl, 39, GentlePurpleRain) , (Perl, 36, ossifrage melengking) , (Python 3, 110 , Sp3000) , (C, 53, FireFly)
5 solves
- hsl: (CoffeeScript, 25, Martin Büttner) , (Golfscript, 20, Josiah Winslow) , (Lua, 18, user3155415) , (Python, 54, kgull) , (Aritmatika, 31, Cris)
- PleaseStand: (PHP, 14, Tryth) , (C ++, 56, hosch250) , (PHP, 21, kenorb) , (QBasic, 37, DLosc) , (JavaScript, 46, FireFly)
4 pemecahan
- bwoebi: (PHP, 52, kenorb) , (PHP, 30, Tryth) , (PHP, 27, kenorb) , (PHP, 44, kenorb)
- FireFly: (JavaScript, 94, Shawn Holzworth) , (Python, 34, Sp3000) , (Brainfuck, 39, Mig) , (JavaScript, 69, Shawn Holzworth)
3 pemecahan
- Pengoptimal: (JavaScript, 61, jsh) , (JavaScript, 47, palerdot) , (JavaScript, 42, Shawn Holzworth)
- es1024: (PHP, 46, Ismael Miguel) , ( Kulit Python, 15, xnor) , ( Kulit Python, 21, xnor)
- DLosc: (Python, 41, Sp3000) , (Ruby, 37, Rodolvertice) , (CJam, 14, User23013)
2 pemecahan
- xnor: (Python 3, 37, matsjoyce) , (Python 2, 29, Dennis)
- Daniel Wagner: (Haskell, ukuran 34, Petr Pudlák) , (Haskell, 42, haskeller bangga)
- nneonneo: (Python, 41, Sp3000) , (C, 43, FryAmTheEggman)
- Seni: (C, 51, es1024) , (C, 48, es1024)
- n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳: (Java 6+, 101, Rodolvertice) , (Java, 97, Olavi Mustanoja)
1 memecahkan
- Ypnypn: (Python 2, 50, Geobits)
- matsjoyce: (Python 3, 12, xnor)
- pengguna1354557: (Python, 56, Fox Wilson)
- Dennis: (CJam, 20, Martin Büttner)
- isaacg: (Pyth, 71, FryAmTheEggman)
- ConMan: (SAS, 17, user3490)
- Arcinde: (JavaScript, 285, Peluruhan Beta)
- Shawn Hotazworth: (Javascript, 82, TrungDQ)
- nooodl: (Ruby, 49, Doorknob)
- Bhante Nandiya: (Python 3, 37, Sp3000)
- Geobit: (APL, 17, user23013)
- histokrat: (Ruby, 23, MegaTom)
- ProgramFOX: (Python, 13, Reticality)
sumber
Jawaban:
CJam, ukuran 20, oleh Martin Büttner
Cobalah online.
Bagaimana itu bekerja
Memecahkan kode
Output yang diinginkan
2.956177636986737
,, adalah Double atau Double diikuti oleh Long.Hanya menggunakan karakter dalam
"Stop, Hammer time!"
, ada empat operator builtin yang mengembalikan Doubler non-integer:mS
, yang manaasin
ma
, yang manaatan2
me
, yang manaexp
mt
, yang manatan
Semuanya mengandung
m
, jadi kita bisa menggunakan paling banyak tiga. Hanya ada satuS
dan satua
.Semua operator itu membutuhkan input, dan
ma
satu-satunya yang menggunakan dua input. Kami hanya memiliki tiga cara untuk mendorong Long:"...",
, yang mendorong panjang string (kurang dari 18).H
, yang mendorong 17....!
, yang mendorong BUKAN logis...
.Kami tidak memiliki cara untuk mendorong sesuatu yang palsu
...
, sehingga opsi terakhir akan selalu menekan 0.Output tidak dimulai atau diakhiri dengan
17
atau0
. Karena 15 digit desimal adalah jumlah digit yang biasa untuk suatu Double, sepertinya outputnya adalah Double sederhana.Dengan asumsi ini, kode harus jatuh dalam salah satu kategori berikut:
<Long> <mS|me|mt>{1,3}
<Long> <mS|me|mt>{x} <Long> <mS|me|mt>{y} ma <mS|me|mt>{z}
.i
) atau pembulatan (mo
) diterapkan ke Double.Dalam kasus kedua,
x + y + z
adalah 1 atau 2 dan salah satu dari Long adalah 0 atau 17.Sisanya pada dasarnya adalah kekuatan kasar. Setelah beberapa kali mencoba,
kembali
9
, artinyamenghasilkan output yang diinginkan.
Yang tersisa adalah menghilangkan semua kecuali 9 karakter dari string. Spasi adalah noops dan
i
noop di Longs, jadi"petStorm!"
adalah salah satu pilihan yang mungkin.sumber
mr
sebelum mengambil panjang Bukannya Anda tidak akan menemukan itu juga di beberapa titik. ;)Python 3, ukuran 12, oleh xnor
Tidak melakukan apa pun (ekspresi menghasilkan tupel kosong, yang tidak dicetak). Ini berfungsi karena evaluasi hubungan pendek.
sumber
()
.print
.bciprt
tidak pernah dieksekusi, sehingga tidak pernah menghasilkan NameError.Python, ukuran 74, oleh xnor
Ya itu menyenangkan. Terima kasih kepada FryAmTheEggman, hosch250 dan isaacg untuk saran / bantuan.
sumber
list(\nprint(range is range)for aacdeeeeehmppprrrrssvwy in\noct(int is int))
.Python 2, ukuran 50, oleh Geobits
Output 42.
sumber
print 2**2**2**2/2**2**2/2**2**2/2-2**2**2*2**2-22
, tetapi tidak mengherankan sama sekali bahwa lebih dari satu opsi sudah benar.GolfScript, ukuran 13, oleh Peter Taylor
Uji di sini.
Satu lagi, bahwa saya hanya retak dengan bantuan besar dari Sp3000. Terima kasih!
Jadi, inilah cara kami sampai di sana. Sp3000 melihat banyak proses angka berurutan dalam output:
Berdasarkan itu kami membuat asumsi, bahwa ini adalah urutan yang meningkat, yang hanya memungkinkan untuk satu kemungkinan pemisahan dari jumlah yang tersisa:
Itu 23 angka, yang merupakan indikator kuat untuk mengulang blok 22 kali, serta mengakhiri blok dengan
.
(duplikat elemen tumpukan atas), sehingga hasil sebelumnya tertinggal di tumpukan dan sedemikian rupa sehingga iterasi akhir akan muncul pada tumpukan dua kali. Itu22,{____.}/
.Sekarang melihat celahnya, itu ternyata kekuatan keempat (yang bagus, karena kita punya
4
dan?
). Lebih tepatnya, mereka adalah kekuatan keempat dari indeks angka saat ini. Jadi selanjutnya kita melihat indeks mana yang menciptakan celah:Dalam biner itu
Mereka semua memiliki set bit ketiga, yang berarti bahwa indeks mungkin hanya bitwise-and'ed with
4
(yang bagus lagi, karena kita dapat membuat yang lain4
dengan.
dan memiliki a&
). Ini bekerja dengan sangat baik, karena operasi ini menghasilkan salah satu0
atau4
, dan jika kita menggunakannya sebagai eksponen, kita mendapatkan salah satu1
atau keempat kekuatan, yang persis apa yang kita butuhkan. Jadi mari kita menggabungkannya:Inilah yang dilakukan oleh blok:
Sekarang ada dua masalah yang tersisa: kami memiliki nyasar yang belum
,
kami gunakan, dan iterasi pertama adalah kasus khusus, di mana tidak ada nilai dari iterasi sebelumnya yang kami dapat menambahkan hal-hal ketika bertemu+
. Kami menemukan itu berkat komentar yang tidak terkait oleh user23013 yang dengan santai menyebutkan bahwa GolfScript dimulai dengan string kosong di stack (jika tidak ada yang ada di STDIN). Jadi kita bisa menggunakan,
hak lain itu di awal untuk mengubah string itu menjadi0
, yang tepat seperti yang kita butuhkan sebagai permulaan iterasi.sumber
Python 3, ukuran 16, oleh matsjoyce
sumber
Ruby, ukuran 17, oleh Doorknob
Itu sangat menyenangkan. Terima kasih kepada Sp3000 karena telah membantu saya! Dan saya belajar bahwa
%r?...?
literal dapat memiliki pembatas. :)sumber
print
, hanya untuk membaginya menjadip
untuk pencetakan,%r
untuki
regex dan untuk pencocokan regex case-sensitive.PHP, ukuran 49, oleh bwoebi
Itu benar-benar mental .
Itu harus
cukup cepat, pada titik mana saya membutuhkan sesuatu yang memberi
-6
setelah koma, setelah$++$++$++$+=$~main$2
pergi.Tangkapan utama adalah itu
$a
,$m
dan$i
semuanyaNULL
, jadi menggunakannya secara tidak langsung dalam variabel variabel , berarti mereka semua menunjuk ke variabel yang sama. Namun, PHP tampaknya melakukan beberapa hal aneh tentang menyelesaikan variabel variabel. Dengan variabel normal, Anda dapat melakukan hal-hal sepertiyang mencetak
4
(2
ditugaskan ke$a
dan kemudian ditambahkan ke dirinya sendiri). Tetapi jika saya melakukan hal yang sama dengan variabel variabel:Saya mengerti
2
, karena sekarang yang pertama$$a
adalah evaluasi sebelum penugasan.Pada akhirnya saya berhasil memaksakan ketertiban dengan menempatkan beberapa kenaikan pada RHS
+=
yang harus dievaluasi sebelum penugasan tambahan itu. Dengan begitu saya sampai pada5
yang saya bisa sedikit komplemen. Tetap saja ... ada beberapa hal misterius yang terjadi, dan saya tidak tahu mengapa setengah dari hal yang saya coba berhasil dan tidak berhasil.sumber
print@substr(new exception,~$$mn+=2+$$a+++$$i++);
main
itu berada di tali menyesatkan Anda banyak. Juga, metode yang agak tidak biasa untuk mengekstraksi{main}
, saya pikir ;-)main
tidak benar-benar menyesatkan saya, setelah melihatexception
,new
dansubstr
. Saya pikir mereka hanya akan menjadi nama variabel. Butuh sedikit untuk menghasilkan variabel variabel dan daripada saya menghabiskan sebagian besar waktu untuk mencari tahu beberapa urutan operasi yang benar-benar akan menghasilkan5
yang saya dapat melengkapi tanpa menggunakan set kurung lain.exception
sudah jelas, yang meninggalkan karakter tersesatsubstr
dannew
berbaring. Itu benar-benar hal pertama yang saya lihat ketika mulai mengerjakannya.Ruby, ukuran 38, oleh Doorknob
Saya cukup yakin ini tidak ada di dekat sumber aslinya. Ini deterministik meskipun digunakan
rand
.Beginilah cara kerjanya.
$><<
hanya keluaran.$pece60
dan$win
merupakan variabel global yang tidak terdefinisi, yang karenanya adilnil
(dan mereka memungkinkan saya untuk menyingkirkan beberapa karakter asing).!$pece60
membuattrue
danto_s
memberikan string"true"
.Selama berabad-abad, saya mencoba mendapatkan
2
atau-2
mengaksesnyau
di sana, tetapi kemudian saya menyadari bahwa saya bisa mengambilnyat
, dan memanggil.succ
(essor) untuk membuatnyau
.rand
dengannil
parameter mengembalikan float acak dalam interval [0,1). Saat menggunakan floats untuk mengindeks ke string, mereka terpotong menjadi bilangan bulat, jadi ini akan selalu mengembalikan karakter pertama.Akhirnya, saya punya sepasang cadangan
[]
jadi saya hanya membungkus semuanya di dalamnya, karena untungnya semuanya adalah ekspresi di Ruby.Terima kasih kepada Sp3000 karena telah melempar beberapa ide dalam obrolan.
sumber
C, 51 oleh es1024
Setelah 20 tahun pemrograman C hari ini saya belajar tentang konstanta floating point heksadesimal.
sumber
Ruby, 45 (histokrat)
Woo hoo! Ini adalah celah pertama saya pada masalah kode golf, dan saya tidak punya cukup perwakilan untuk mengomentari posting asli. Saya segera mengenali trik yang digunakan, karena saya sebenarnya sering menggunakannya dalam kode produksi. Butuh sekitar 5 menit untuk mengetahui sebagian besar struktur dan beberapa jam untuk mendapatkan jawaban yang lengkap.
Penjelasan:
%q[]
adalah metode alternatif untuk membuat string. Parenthesis dan kurung kurawal juga dapat digunakan.String#to_i
di Ruby menerima angka dalam basis apa pun dari 2 hingga 36. Ini akan mengabaikan karakter pertama dalam string yang bukan bagian dari angka, sehingga karakter tambahan apa pun dapat "dibuang" setelah spasi.Dan inilah kode yang saya gunakan untuk memecahkannya:
Cara untuk menanamkan masalah NP di dalam teka-teki. Saya benar-benar kutu buku. Kerja bagus!
sumber
p
ke sebelum ekspresi. Agaknya karakter yang tersisa dapat digunakan untuk membentuk konstanta seperti yang telah Anda lakukan.p %q[zyfnhvjkwudebgmaclrsx].to_i(36)/51074892
Saya tahu saya telah memecahkan usaha cracking saya yang sebenarnya :)Kulit piton Python ukuran 44, oleh Caridorc
Saya yakin seharusnya ada lebih dari itu, tetapi karena
__name__
sama dengan__main__
, karakter ke-4 'a' dipilih dan sisa garis tidak pernah dievaluasi.sumber
[__name__ for ___name__ in range(1,4)][2][3]
Perl, ukuran 36, oleh ossifrage melengking
Satu lagi yang sulit.
sumber
CJam, ukuran 13, oleh user23013
Uji di sini.
Dipecahkan dengan tangan, seperti:
Pertama, beberapa latar belakang untuk non-CJammers:
CEGIK
semua variabel, yang pra-dijalankan untuk12
,14
,16
,18
,20
, masing-masing.s
mengkonversi elemen tumpukan atas ke string.f
cukup ajaib. Untuk tujuan jawaban ini, versi yang disederhanakan adalah bahwa, untuk arraya
, beberapa nilai lainb
dan operatorg
, urutanabfg
petag(_,b)
kea
(di mana setiap elemena
masuk ke_
slot yang)./
adalah pembagian dan array pemisah (antara lain).*
adalah pengulangan multiplikasi dan array (antara lain).%
adalah modulo dan beberapa operasi aneh, yang dalam bentukad%
arraya
dan integerd
mengambil setiapd
elemen tha
(seperti Python mengiris dengan lebar langkahd
).#
adalah eksponensial (antara lain).,
mengubah angka menjadi rentang (dari0
ken-1
) dan mengembalikan panjang array.Oke, itu tidak mungkin ...
Sudah cukup jelas bahwa kami perlu
,
mengubah angka menjadi rentang, karena satu-satunya cara lain untuk mendapatkan array adalah membangun nomor yang lebih besar dan mengubahnya menjadi array karakter dengans
- tetapi kemudian kami tidak bisa melakukan apa pun. aritmatika lebih lanjut tentang itu. Dan kita perlu sebuah array untuk melakukan sesuatu denganf
s.Saya pertama kali berasumsi bahwa
f
s digunakan dengan#
dan%
, tetapi itu berarti kita akan membutuhkan angka sekitar 90 untuk mendapatkan jumlah digit yang tepat pada akhirnya. Dan juga, ini tidak menjelaskan apa yang harus dilakukan dengans
, dan karena jawabannya tampak sangat golf, saya meragukan user23013 hanya menambahkans
sebagai no-op efektif tempat untuk mengusir orang.Jadi saya pikir, mungkin dia bahkan tidak menyimpan angka-angka kecil
%
, tetapi sebaliknya dia membangun sebuah array angka besar, menggabungkan representasi string mereka dengans
, tetapi kemudian hanya mengambil beberapa irisan aneh dengan itu%
. Jadi saya bermain-main sedikit dengan kerangka kerja berikut:(Anda tidak dapat melakukan
_f/
pertama, karena itu akan menghasilkan nol untuk setidaknya 12 elemen pertama.)Di mana
_
ada beberapa permutasi variabel. Saya tidak mencoba semuanya sebelum bosan, dan masalah utama dengan ini adalah urutan angka yang dihasilkan terlalu lama.Pada titik tertentu terlintas dalam benak saya, bahwa kami tidak akan membutuhkan jangkauan yang begitu besar (yaitu produk dari dua angka), jika sebaliknya kami menggunakan
*
untuk mengulang string yang dihasilkan. Karena ketidakcocokan parameter*
dan%
ini tidak akan menghasilkan pengulangan dalam hasil:Ini menghasilkan hasil yang sangat dekat dengan apa yang saya cari. Saya akan benar-benar mencoba 240 dari mereka, tetapi cukup cepat (upaya ketiga atau keempat), saya menemukan
yang menghasilkan
Dan saya pikir kecocokan dari enam digit pertama tidak akan menjadi kebetulan. Jadi pertanyaannya adalah bagaimana mengatur ulang tanpa mengganggu perhitungan yang sebenarnya:
K
karena itu akan memilih angka yang berbeda sama sekali.C
atauI
karena itu akan mengubah angka yang dihasilkan dari dua operasi peta.G
itu hanya akan mengubah jumlah pengulangan, yang tidak akan melakukan apa pun selain mengubah panjang hasilnya. (Yang mana yang bagus.)E
itu akan mengubah rentang array, tetapi rentang masih akan mulai dengan[0 1 2 3 ...]
, sehingga tidak akan mempengaruhi perhitungan. Ini akan mempengaruhi panjang string dasar yang dikembalikan olehs
, yang juga berartiK%
akan memilih angka yang berbeda pada pengulangan tambahan.Jadi saya hanya mencoba menukar
E
danG
dan voila:Singkatnya, inilah yang dilakukan kode:
sumber
APL, ukuran 17, oleh pengguna23013
Aku menghabiskan jauh terlalu lama mencoba untuk memecahkan ini. Mungkin akan lebih cepat jika saya tahu APL masuk.
Cobalah di sini
sumber
Pyth, ukuran 11, oleh isaacg
Itu beberapa penyalahgunaan bug berarti di sana. Ini mengkompilasi ke:
Bug yang relevan adalah yang
\\
dikompilasi"\"
alih-alih"\\"
, yang memungkinkan Anda mengkompilasi Pyth menjadi sebuah string.sumber
Pprint
menjadiprint
, atau setidaknyapprint
?Python, ukuran 69, oleh Sp3000
Itu sulit ...
sumber
print(sum(map(ord,str((dict(list(((str(),str(dict())),))),list())))))
, tetapi jelas banyak permutasi kata kunci yang berbeda akan berfungsi.Python 3, 37 byte, oleh Sp3000
Yang memalukan sejauh ini adalah bagian tersulitnya untuk mengubah string menjadi byte. Saya harus tidur di atasnya, dan di malam hari menyadari 'ya, itu byte byte!'
sumber
PHP, 53, oleh PleaseStand
Akhirnya memecahkannya:
Solusinya datang cukup cepat ketika saya perhatikan bahwa urutannya terdiri dari bilangan desimal dan oktal bergantian:
Juga, interval antara setiap set angka tumbuh pada tingkat yang sama dengan nilai yang dikembalikan oleh
printf()
(yaitu, jumlah karakter yang ditulis).sumber
Python 2, ukuran 132, oleh Vi.
Terima kasih untuk semua garis miring terbalik dan tanda kutip :)
Sunting: Versi 96-char yang diperbarui:
Ini sepenuhnya diambil dari solusi Alex di https://codegolf.stackexchange.com/a/41451/32353
sumber
fgiillmmooprrsstt
atau,,,\016:::S[]____tuuvyy
.exec
? Kode saya harus lebih pendek ... Saya meniru dengancompile
+eval
karena saya lupa tentangexec
...CJam, ukuran 15, oleh Ypnypn
Dari karakter yang diberikan, saya kira itu harus salah satu dari tiga bentuk berikut:
yang membuat rentang dua digit, lalu memetakan operasi penambahan dan modulo (dalam urutan apa pun) ke dalam rentang, sebelum menjumlahkannya. Jadi saya baru mulai dengan yang pertama, dan secara sistematis mencoba permutasi
6789
dalam celah.sumber
PHP, ukuran 52, oleh PleaseStand
Ini ternyata cukup mudah pada akhirnya. Output terlihat sangat acak, dan karakter
m
,t
,_
,r
,a
,n
dand
semua muncul dua kali ...sumber
Python 2, ukuran 61, oleh FryAmTheEggman
Saya akan sangat terkejut jika ini cocok dengan aslinya.
sumber
print''.__doc__[::2][::3].split()[1].split('.')[0][:-~-~True]
dir()
menemukan 'get'. Dan ya, itu akan sangat sulit tanpa tanda kutip.Python 3, Sp3000, ukuran 44
Python 3 membantu saya di sini karena saya dapat menyebabkan kesalahan (bergeser ke kiri
None
oleh sesuatu) setelah mencetak jawabannya.sumber
print(~(~(()<())<<((()<((),))<<(()<((),)))))
awalnya.PHP, ukuran 52, oleh kenorb
(Ya Tuhan, berapa lama aku harus memikirkan apa yang harus dilakukan dengan sisa
_r
sufiks yang tersisa . Sampai aku sadar itu bukanprint
, tapiprint_r
...)sumber
_:print_r(chr(3*pow(2,5)+@++$i));if(@$i<4<<1)goto _;
.echo
tidak mungkin;print
tetap; b) Anda perlu beberapa loop, tetapi untukfor
loop, tidak ada cukup titik koma, dan well, ada titik dua ... jadi mungkin label di sana dikombinasikan dengan goto; c) maka diperlukan jika untuk membatalkan loop-goto. Memiliki sekarangX:print($Y);if($Y)goto X;
(X dan Y menjadi placeholder); d) ada++
, tapi tidak=
, jadi mungkin beberapa++$Z
dari 1 hingga 8; e) untuk mendapatkan surat dari integer, kita perluchr()
(biasanya) - ada di sana; f) sekarang saya hanya perlu menemukan angka 96 dan 8 untuk chr dan jika. Kemudian isi placeholder dan volià.PHP, ukuran 54, oleh Steve Robbins
Bukan solusi asli, saya pikir.
sumber
echo
danwhile
, tetapi kemudian tidak bisa diganggu untuk menemukan lingkaran yang menghasilkan 42.while
dalam aslinya.C, es1024, panjang 70
Bagian yang sulit adalah untuk melacak semua karakter yang tidak dibutuhkan ... dengan serius ... Saya harus mengulanginya sekitar 10 kali. Satu-satunya yang membuatku khawatir adalah
.
tetapi entah bagaimana aku menancapkannya di tengah-tengahprintf
string format dan itu menjadi tidak terlihat!sumber
Python 3, ukuran 110, oleh Sp3000
Ini menyenangkan :)
sumber
Haskell, ukuran 34, oleh Petr Pudlák
Perhatikan bahwa program ini harus dijalankan pada mesin 32-bit. Jika Anda ingin memeriksa bahwa ini adalah program yang benar dan Anda memiliki mesin 64-bit, Anda dapat menggunakan ini sebagai gantinya:
Cukup mudah untuk menebak "bingkai" dari program tersebut
main=print(0x<hex digits>^0x<hex digits>::Int)
. Semua keajaiban itu dalam mencari cara yang tepat untuk mempartisi dan memesan digit. Saya tidak melakukan banyak hal pintar di sini, hanya pencarian kasar ... meskipun saya berhati-hati untuk menyalahgunakan fakta bahwa beberapa digit digandakan, mungkin ada jumlah digit yang sama di pangkalan dan eksponen, dan digit terakhir dari basis hampir pasti bahkan tidak. Kode pencarian lengkap termasuk di bawah ini; menggunakan paket multiset-sisir . Pencarian lengkap membutuhkan sekitar 10:33 di komputer saya (dan hanya menghasilkan satu jawaban yang benar, tentu saja).sumber
Javascript, 82, oleh TrungDQ
Butuh selamanya untuk mendapatkan indeks yang benar.
sumber