Selamat kepada Dennis yang memenangkan tantangan polisi dan perampok! Hobi Calvin telah memenuhi janjinya dan menulis tantangan ini untuk Dennis karena memenangkan tantangan para perampok.
Perhatian: Tantangan ini ditutup untuk jawaban polisi selanjutnya pada 2015-09-01 02:00:00 UTC. Setiap jawaban baru yang diposting tidak akan memenuhi syarat untuk menang dan tidak akan dihitung terhadap skor perampok jika retak. Namun, Anda masih dapat memposting jawaban baru untuk kesenangan pengguna lain, sehingga masih ada beberapa teka-teki yang tersedia untuk pengunjung masa depan. Jawaban baru ini termasuk dalam bagian "Polisi Rentan" di papan peringkat dan status mereka yang tidak bersaing ditandai secara terpisah.
Selamat datang di The Hello World Quiz edisi Cops-and-Robbers ! (Jika Anda belum pernah memainkan kuis, silakan mencobanya sebentar atau 30 menit. Anda tidak perlu memainkannya untuk tantangan ini.)
Tantangan Polisi
- Pilih bahasa pemrograman. Bahasa yang valid harus memiliki artikel Wikipedia bahasa Inggris , artikel esolang atau artikel Kode Rosetta pada saat tantangan ini diposting (perhatikan bahwa daftar yang ditautkan tidak harus lengkap karena dikuratori secara manual). Mereka juga harus memenuhi standar biasa kami untuk bahasa pemrograman , sehingga hal-hal seperti HQ9 + keluar. Terakhir, harus ada juru bahasa atau kompiler gratis (seperti dalam bir) yang tersedia untuk bahasa tersebut (pada saat tantangan ini diposting).
Tulis program Hello World. Yaitu, menulis program lengkap dalam bahasa yang dipilih yang mencetak
Hello, World!
(persis seperti itu, yaitu aliran byte yang tepat ini) dan secara opsional satu baris tambahan baru ke STDOUT atau alternatif terdekat.Anda tidak boleh menganggap lingkungan REPL, kode boilerplate yang ada, atau flag compiler / interpreter non-standar. Program harus dalam bentuk satu atau beberapa file sumber (untuk mengesampingkan bahasa unik seperti Folder ) dan harus sesuai dengan jawaban Anda secara penuh (jadi tidak boleh lebih dari 30.000 karakter) - ini seharusnya tidak menjadi masalah bagi pengajuan serius.
Jika kode Anda berisi byte di luar rentang ASCII yang dapat dicetak, harap sertakan pastebin atau hex dump untuk memastikan kode Anda benar-benar dapat diuji.
Program harus berakhir dalam 1 menit pada PC desktop biasa.
Itu dia. Tangkapannya adalah Anda ingin mengaburkan kode Anda sehingga tidak jelas bahasa yang Anda pilih. Perhatikan juga bahwa Anda tidak ingin kode Anda secara tidak sengaja menjadi program Hello World yang valid dalam bahasa lain, meskipun saya berharap hal itu tidak mungkin untuk program yang dikaburkan secara memadai.
Anda tidak boleh dalam keadaan apa pun mengedit kode sumber kiriman Anda sekali diposting (karena ini dapat membatalkan upaya aktif perampok dalam memecahkan jawaban Anda). Jadi pastikan Anda bermain golf sebaik yang Anda bisa (atau berani) sebelum memposting. Jika Anda menyadari bahwa jawaban Anda tidak berfungsi setelah mempostingnya, cukup hapus jawaban Anda dan poskan versi yang tetap jika Anda mau.
Jika tidak ada yang menemukan bahasa kode Anda berlaku selama 7 hari, Anda dapat mengungkapkan bahasa yang dipilih (idealnya dengan penjelasan untuk kode Anda yang dikaburkan), yang akan membuat jawaban Anda aman . Perhatikan bahwa kiriman Anda masih dapat dipecahkan sampai Anda mengungkapkan bahasa.
Pengajuan aman terpendek (dalam byte) menang.
Memformat
(Jangan ragu untuk melewati bagian ini dan membaca Tantangan Perampok jika Anda tidak berencana untuk berpartisipasi sebagai polisi sekarang.)
Di bagian bawah posting ini, Anda akan menemukan Cuplikan Stack yang menghasilkan papan peringkat serta daftar pengiriman yang masih bisa di-crack. Agar cuplikan berfungsi, penting bahwa Anda menyertakan tajuk tertentu dalam jawaban Anda:
Jawaban baru harus menyertakan tajuk seperti
# ???, [N] bytes
di mana
[N]
ukuran kode Anda dalam byte dan???
akan muncul secara harfiah.Jika jawabannya tidak retak selama 7 hari dan Anda ingin membuat jawaban Anda aman dengan mengungkapkan bahasa, cukup ganti
???
, misalnya# Ruby, [N] bytes
Jangan ragu untuk memiliki tautan nama bahasa ke situs web yang relevan seperti halaman esolangs atau repositori GitHub. Tautan tersebut kemudian akan ditampilkan di leaderboard.
Jika pengguna lain berhasil memecahkan kiriman Anda (lihat di bawah), tambahkan juga bahasa, bersama dengan pemberitahuan seperti
# Ruby, [N] bytes, cracked by [user]
di mana
[user]
nama pengguna yang mengirimkan celah valid pertama. Jika bahasa yang digunakan dalam crack berbeda dari yang Anda maksudkan, saya akan merekomendasikan menggunakan tebakan perampok dan menyebutkan dalam jawaban yang Anda maksudkan untuk menjadi sesuatu yang lain. Jangan ragu untuk membuat nama pengguna tautan ke halaman profil mereka.
Tantangan Perampok
- Temukan jawaban yang rentan. Itu adalah jawaban, yang belum dipecahkan dan yang belum aman .
Pecahkan dengan mencari tahu bahasanya. Yaitu, cari bahasa apa pun di mana program yang diberikan adalah program Hello World yang valid (tunduk pada aturan yang diuraikan dalam The Cops 'Challenge di atas). Tidak masalah apakah ini bahasa yang diinginkan polisi.
Jika Anda menemukan bahasa seperti itu, tinggalkan komentar dengan nama bahasa tersebut. Jika memungkinkan, Anda harus memasukkan tautan ke juru bahasa online, yang menunjukkan bahwa kode itu benar-benar berfungsi dalam bahasa itu sebagaimana diperlukan.
Setiap pengguna hanya mendapat satu tebakan per jawaban. Anda tidak boleh memecahkan jawaban Anda sendiri (jelas ...).
Pengguna yang memecahkan sejumlah besar jawaban akan memenangkan tantangan para perampok. Dasi dipecah oleh jumlah byte jawaban yang di-crack (lebih banyak lebih baik).
Karena tantangan perampok diadakan secara eksklusif dalam komentar, tidak akan ada insentif reputasi untuk perampok. Namun, Grand Master of Writing Writing, Calvin Hobbies , telah dengan ramah menawarkan untuk menulis tantangan tentang pengguna yang memenangkan tantangan perampok!
Dashboard Tantangan
Cuplikan Stack di bawah ini menghasilkan papan peringkat untuk polisi dan perampok dan juga akan mencantumkan semua jawaban yang masih dapat dipecahkan. Beri tahu saya jika ada yang tidak berfungsi dengan benar, dan saya akan mencoba memperbaikinya sesegera mungkin. Jika Anda dapat memikirkan fitur tambahan yang akan membuat dasbor lebih bermanfaat, tinggalkan komentar juga.
sumber
Jawaban:
Bangun , 17 byte
Menurut situs web resmi ,
Wake dibuat oleh shinh dan dapat diuji pada server golf-nya Anarchy Golf .
Kode terdiri dari satu baris yang berisi target / label dan tindakan. Karena aksinya adalah string literal, ia dicetak ke STDOUT.
Menggunakan
"
untuk target melayani dua tujuan:Ini memberikan perlindungan polyglot.
Klip dan cetak Foo
:
; GolfScript dan CJam meningkatkan kesalahan sintaksis karena string yang belum selesai.Ini memberikan sedikit ketidakpastian tentang bagaimana kode seharusnya bekerja.
sumber
":
merupakan awalan garis yang valid, dan yang memperlakukan string literal dengan sendirinya di baris aktual sebagai perintah output. Atau 2: Bahwa itu substitusi string, dan<foo>:<bar>
dihapus<foo>
dari<bar>
. Ectoforte, dari halaman esolangs wiki Forte, agak memuaskan 1 tetapi interpreter yang terhubung terputus dengan tanda kutip ganda pada label dan saya tidak tahu apakah itu cukup dianggap sebagai bahasa.TinyBF , 708 byte, dipecahkan oleh kirbyfan64sos
Ini menyenangkan gila. Semua orang tahu bahwa saya hanya dapat menulis satu bahasa;)
Penjelasan
Pertama-tama, ini membutuhkan waktu berjam-jam untuk dibuat, jadi saya sangat senang dengan semua reaksi positif dan upaya untuk memecahkannya!
Seperti disebutkan dalam komentar, ketika dikompilasi dalam C, kode dicetak
Gotcha!
diikuti oleh baris baru, tetapi ketika TinyBF mencetak yang diinginkanHello, World!
. TinyBF merupakan turunan sederhana Brainf ** k yang menggantikan 8 perintah dengan hanya 4:+ > | =
. Karena semua karakter lain diabaikan, saya dengan senang hati dapat menulis program C dengan banyak operator yang tidak perlu untuk mencoba mengarahkan orang ke arah yang salah (yang mengejutkan saya, bekerja dengan cukup baik). Berikut ini adalah kode TinyBF murni:Berikut adalah program yang sama, ditulis dalam BF biasa:
Anda dapat menggunakan juru bahasa ini untuk mengkonversi dari BF ke TinyBF, dan untuk menjalankan kode.
sumber
main()
. Mungkinkah itu C? http://codepad.org/pj9mQgyQ (Sebagai catatan: KeluarannyaGotcha!
)I,c,o,d,e,C;i;main()
akan diabaikan (selain;
tetapi tampaknya tidak penting), dan jumlah tinggi!
yang digunakan untuk menampilkan karakter ASCII mungkin merupakan tanda bahwa ini adalah ini. Saya tidak bisa mengunduh juru bahasa Fission dan memeriksa sekarang juga.jahat , 658 byte, dipecahkan oleh Sp3000
kejahatan adalah esolang tua yang sedikit mirip BF. The perintah semua huruf kecil, dan karakter lain hanya diabaikan.
Pertama, saya membuat program hello world pendek dengan menggunakan Python:
Kemudian, lagi-lagi menggunakan Python, saya mengubahnya menjadi string base64:
Itu diterjemahkan menjadi huruf kecil murni:
Saya menambahkan beberapa hal lain ke string base64, lalu menuliskannya sebagai program Python di atas.
Shebang sebenarnya penting dalam program ini. The
s
sebelumb
disbin
akan melewatkanb
perintah. Kemudianf
infortran
akan memindai ke depan sampaim
karakter berikutnya , yang ada di string base64.sumber
aeeeaeee...
dicampur dengan karakter acak sedemikian rupa sehingga string yang dihasilkan adalah string base64 yang valid. Saya memilih karakter acak sehingga string yang dihasilkan akan base64-decode ke huruf kecil, tetapi string yang didekode sebenarnya tidak relevan - itu hanya gangguan. Satu-satunya hal yang penting adalah bahwa kejahatan akan mengeksekusi string base64, tetapi abaikan huruf besar dan beberapa huruf kecil karena mereka bukan perintah, meninggalkan program hello world.Lua,
29202865 Bytes, dipecahkan oleh jimmy23013Saya hanya mempelajari bahasa ini kemarin, jadi maafkan kesalahan sintaksis apa pun.
Peringatan: Mencetak "Halo, Dunia!" dan kemudian keluar dengan kesalahan
Penjelasan:
Dalam Lua, - [[berarti komentar multiline, - berarti satu komentar baris, dan [[adalah string multiline.
Jika Anda menggulir sepenuhnya ke samping pada baris pertama Anda akan melihat p = [[. Ini mendefinisikan string multi-baris yang berubah dari "Romeo, seorang pria muda" hingga "Biarkan mereka]]", yang dilirik kebanyakan orang tetapi sebenarnya mengakhiri string multiline. Kemudian kita memiliki cetak, yang merupakan fungsi cetak, dan kemudian "-" membuat komentar selanjutnya. Kita perlu memberi sedikit jarak antara cetakan dan Hello World sehingga kita tidak memberikannya, jadi kita punya komentar multiline: "- [[Romeo isak, jijik pada hidupnya) - Engkau sekuat bau kambing. Bicaralah dengan pikiranmu! [[Exeunt Romeo]] "The]] pada akhirnya mengakhiri komentar multiline, dan pada baris setelahnya adalah" Halo, Dunia! " dan kemudian seluruh baris dikomentari oleh -.
sumber
Hello, world!
, bukanHello, World!
.TRANSCRIPT , 39 byte
Ini yang bagus dan sederhana.
Polisi pertama yang aman! Saya terkejut yang satu ini berlangsung sampai akhir - saya mencoba memilih bahasa yang akan sulit dilihat secara langsung, tetapi akan lebih mudah untuk dipecahkan jika Anda dapat menebak temanya.
TRANSCRIPT adalah esolang berdasarkan game fiksi interaktif. Ini memiliki NPC (string) dan objek (integer). Ini
End
adalah nama seorang NPC.Baris pertama mendeklarasikan NPC dengan sintaksis
<name> is here.
. Baris kedua kemudian memberikan NPC string"Hello, World!"
, dan baris ketiga mencetak string menggunakanX / EXAMINE
perintah. Tidak ada banyak ruang untuk kebingungan di sini, jadi yang saya lakukan hanyalah memilih sesuatu yang biasanya bukan nama untuk NPC.Untuk membuktikan bahwa TRANSCRIPT adalah bahasa yang valid untuk tantangan ini, berikut adalah program yang memeriksa apakah bilangan asli input prima atau tidak:
Sebagai catatan, saya sebenarnya sudah gugup sejak dugaan @ aditsu, yang sangat dekat. Inform 7 adalah bahasa untuk membuat game fiksi interaktif, yang bahkan tidak saya ketahui ada.
Sebagai penghargaan atas upaya Aditsu, saya mencoba Inform 7:
Dan inilah contoh dijalankan:
sumber
Headecks , 637 byte, dipecahkan oleh Dennis
Headsecks adalah pengkodean ke BF melalui modulo poin kode 8. Program di atas, ketika dikonversi, memberi
Ada banyak pasangan yang tidak berguna seperti
+-
atau<>
di sana, dan menanggalkan itu memberiAnda mungkin memperhatikan bahwa beberapa loop memiliki
,
(input) di dalamnya - loop ini tidak pernah berjalan, dan hanya berfungsi untuk menambahkane
s ke program yang sebaliknya akan curiga hanya memilikia
s dani
s sebagai satu-satunya vokal.Sintaks, backtick, extraneous
)
, dll. Semuanya adalah ikan haring merah.sumber
herrings are red
??? , 344 byte, dipecahkan oleh jimmy23013
Berikut hexdump file:
Saya sudah mulai dengan program Piet yang mencetak
Hello, world!
. Gambar itu sendiri berisi beberapa yang valid ??? instruksi (,,,!;
), tetapi tidak cukup untuk menyebabkan masalah.Pengikut ??? program menghasilkan output yang diinginkan dan diakhiri dengan instruksi yang terdapat pada gambar:
Untuk menyembunyikannya di dalam gambar, saya meningkatkan jumlah warna dalam palet global dari 32 menjadi 64 (ini adalah apa yang ditentukan 0x85 pada baris pertama) dan mengganti 110 byte pertama dari warna yang tidak digunakan dalam palet dengan yang pertama 110 byte ??? program.
Hasilnya adalah yang pertama Piet / ??? poliglot.
sumber
w
dan tahu Dennis itu mungkin tidak akan mudah: P??? , 1052 byte, dipecahkan oleh Alex A.
sumber
Treehugger , 284 byte, dipecahkan oleh Sp3000
Program ini akan berjalan dalam setidaknya 4 bahasa. Namun, hanya satu dari mereka yang menghasilkan hasil yang benar ...
Penjelasan:
Setelah Anda menghapus semua karakter yang diabaikan Anda mendapatkan ini:
Stripping beberapa kombinasi karakter no-op menghasilkan ini:
Yang pada dasarnya merupakan terjemahan dari Brainf *** "Hello World!" tetapi dengan beberapa kode tambahan (
<++++++++++++++++++++++++++++++++++++++++++++.^
) untuk menambahkan koma.sumber
HelloHelloHello
dalam Thue^
signifikan, dan untuk beberapa alasan itu tidak dikategorikan sebagai turunan BF.Starry , 3039 byte, dipecahkan oleh Sp3000
Ini ada sesuatu untuk Anda mulai.
Pertama, Starry mengabaikan segalanya kecuali spasi dan
+*.,`'
. Jadi mari kita singkirkan semua sampah itu:Sekarang setiap string spasi diikuti oleh non-spasi adalah satu perintah. Semantik perintah ditentukan oleh jumlah spasi dan non-spasi yang digunakan. Sebagai permulaan, backticks hanya membuat label yang tidak pernah kita lompati, sehingga kita dapat menghilangkannya:
Pada titik ini, ini hampir persis seperti contoh Hello World di halaman esolangs , kecuali bahwa saya harus memodifikasinya untuk mendapatkan huruf besar
W
.Jadi untuk mengaburkannya, saya pertama kali menambahkan di backticks, karena mereka tidak menyebabkan masalah (saya tidak bisa menambahkan
,
atau'
, karena mereka adalah input dan melompat, masing-masing). Dan kemudian saya baru saja menambahkan karakter acak selain yang disediakan sedemikian sehingga frekuensi semua karakter non-spasi kira-kira sama.sumber
Brainfuck , 2545 byte, dipecahkan oleh Sp3000
Hanya untuk bersenang-senang.
sumber
Fission , 67 byte, dipecahkan oleh BrainSteel
Ini satu lagi, yang seharusnya sedikit lebih sederhana.
sumber
R
dalam metodewrite
adalah modal dengan sengaja?Q , 64 byte, dipecahkan oleh Mauris
Penjelasan:
KDB + memiliki protokol pesan / format serialisasi sendiri , yang dapat diterapkan ke string seperti:
Itu memberi kita string heksadesimal panjang di atas. Konversi, jika Anda belum dapat menebaknya sekarang, adalah
-9!
.Untuk mencetaknya dengan
Hello, World!
tepat, saya perlu menggunakannya-1
untuk melakukannya. Agak menyebalkan, nomor itu sendiri akan dicetak juga, jadi;
karakter trailing digunakan untuk menekan itu.( Itu adalah lari yang baik selama sedikit lebih dari 2 hari! )
sumber
Logo , 14292 byte, dipecahkan oleh Gareth McCaughan
Penjelasan:
make
memberikan nilai ke variabel. Dalam halmake 'clean
ini hanya kebingungan, menugaskan daftar kurung siku ke variabelclean
dan kemudian tidak melakukan apa-apa dengan itu.type char count
digunakan untuk mencetak karakter berdasarkan jumlah item di dalam daftar kurung siku yang mengikutinya.type
mencetak nilai,char
mengembalikan karakter berdasarkan nilai ASCII dancount
mengembalikan jumlah item dalam daftar. Jadi misalnyatype char count [ a b c d e f g h i j ]
akan mencetak karakter baris baru (nilai ASCII 10).Cobalah online di sini (perlu potong dan tempel sumber)
sumber
Hello, world!
. +1~ Bahasa Inggris direvisi , 36 byte
Jawaban ini berisi perlindungan terhadap SPSS, Foo dan Tiny. mendesah
Empat upaya dan satu jawaban lagi dalam bahasa yang sama , tetapi pengiriman saya akhirnya aman!
Penjelasan
~ Bahasa Inggris dirancang agar terlihat seperti teks biasa, yang mungkin mengapa rilis kedua menambahkan bukan 2 tetapi direvisi ke nama bahasa.
Untungnya, ada alias fungsi
Display
danStop
, yang membuat ~ Bahasa Inggris tidak terlihat seperti Bahasa Inggris.Dari alias itu, saya memilih
Echo
danEnd
, yang - bersama dengan kata kunciand
- membuat kode sumbernya menyerupai bahasa scripting verbose daripada esolang.Kalimat
Menyapa Dunia dan
menghentikan eksekusi, begitu Foo perlindungan yang mengikuti diabaikan oleh penerjemah.
Anda dapat mengunduh juru bahasa resmi dari GitHub (ditautkan pada halaman Esolang).
sumber
Karma , 67 byte
Baris pertama mendorong semua karakter ke stack, menggunakan antrian untuk menyimpan beberapa byte. Baris kedua muncul dan mencetak hingga 0, yang merupakan karakter pertama pada baris 1.
sumber
gs2, 3 byte, dipecahkan oleh feersum
Dalam
gs2
:e
atau\x65
apakahproduct
di daftar (seperti daftar karakter kosong yang mewakili STDIN), sehingga mendorong int1
.|
atau\x7c
adalahpower-of-2
, yang berubah menjadi 2 1 = 2.h
atau\x68
adalahhello
, yang merupakan konyol perintah. Ceritanya sebagai berikut: ketika merancanggs2
, saya berangkat untuk mengalahkan setiap bahasa kode golf di server golf shinh, tetapigoruby
memiliki perintah easter eggh
yang mencetakHello, world!
(perhatikan huruf kecil w), yang memungkinkannya untuk mengklaim tempat # 1 di hello world papan peringkat tantangan . Saya ingin menambahkan goruby, jadi saya menambahkan perintah easter egg saya sendirih
yang mendorongHello, world!
ke stack, tetapi memungkinkan Anda untuk menyesuaikan kapitalisasi dan tanda baca dengan menekan integer sebelumnya:Seperti yang Anda lihat dengan melihat
s2 =
line, jika ada sejumlah2
di atas tumpukan, itu akan diganti dengan variasi huruf besar-W:Hello, World!
.sumber
U+2062 INVISIBLE TIMES
karakter, yang tidak terlihat, tetapi bukan spasi putih, sehingga mereka memanjang panjang posting menjadi 30+ karakter.maurisvh authored 5 days ago
saya tetap akan menebaknya.)> <>, 353 Bytes, Retak dengan Sp3000
Seperti yang ditemukan oleh Sp3000, ini adalah program> <>. Semua spasi dan karakter yang tidak digunakan diganti dengan. karakter untuk keterbacaan.
sumber
MarioLANG , 549 byte, dipecahkan oleh Sp3000
Saya sangat menikmati yang satu ini. Berikut ini ikhtisar singkat tentang cara saya membuat kode:
Saya mulai dari Brainfuck "Hello World!" di esolang:
Saya harus memodifikasinya sedikit untuk menambahkan koma, tapi mari kita abaikan detailnya ...
BF dapat dikonversi ke ML dengan mudah: ubah
>
dan<
menjadi)
dan(
masing - masing. Tambahkan lantai utama di bawah program. Kemudian laksanakan loop melalui lantai pembantu dan lift. Itu mengubah program di atas menjadi:Ini adalah "Hello World!" program di MarioLANG. (Kode ini sesuai dengan "Hello World!" Yang salah pada esolangs, bukan kode ML yang dikaburkan di atas.)
Pada titik ini, kita dapat mem-golf kode sedikit saya benar-benar memindahkan beberapa kode loop ke lantai tambahan. Saya sekarang beralih ke kode aktual dari jawaban ini:
Dan sekarang kebingungan yang sebenarnya: Saya pikir itu
=
akan menjadi hadiah mati untuk Sp3000 yang tahu bahasa (dia telah menggunakannya dalam Evolusi OEIS). Tetapi MarioLANG juga memiliki "dinding" bukan "lantai", yang diwakili|
. Ini secara fungsional identik, jadi saya menggunakan karakter yang kurang umum. Saya juga mengira lantai gantung akan terlihat mencurigakan jadi saya mengisi dua baris dengan karakter lain. Untuk mengukur baik saya menambahkan baris pertama lagi ke akhir, dan membuat padding di garis tengah karakter yang berlawanan dari baris pertama. Saya juga menambahkan tanda kurung kotak yang cocok (yang diabaikan oleh MarioLANG), karena saya pikir tanda yang tidak cocok[
mungkin merupakan petunjuk kuat lainnya. Akhirnya, saya menulis skrip CJam untuk memercikkan tepat 13=
ke posisi lantai acak (13, karena itu 'Hello, World!
) dan mengubah karakter padding pada baris keempatHelo, Wrd!
agar terlihat seperti saya membaca karakter dari kode sumber, seperti jawaban Befunge. Voa, MarioLANG dikaburkan! :)sumber
ULDR
untuk memulai aliran kontrol sama sekali. Jadi tidak. ;)TIDAK DIBABISKAN , 77 byte
Verifikasi
Anda dapat menemukan situs web resmi dan juru bahasa sini .
Seperti dicatat di situs web, penerjemah ditulis untuk Python 2.2, yang memungkinkan karakter non-ASCII dalam kode sumber. Anda bisa mengunduh Python 2.2.3 1 atau memperbaikinya untuk Python 2.7 dengan memasukkan baris berikut di awal interpreter:
Bagaimana itu bekerja
Pertama-tama, spasi tidak seharusnya boleh diizinkan dalam kode sumber sesuai dengan situs web, tetapi mengikuti spasi setelah instruksi lengkap tampaknya tidak menyebabkan masalah.
Perintah
$0,0
dijalankanmemory[0] = memory[0] == memory[0]
, yang tidak membantu menyapa Dunia dengan cara apa pun. Saya telah menambahkan perintah ini semata-mata untuk mengalihkan perhatian dari kenyataan itu.
bertindak sebagai pemisah pernyataan.Sisa kode terdiri dari tiga belas
:x
perintah, yang menulis karakter dengan titik kode x ke STDOUT.Versi kode sumber yang tidak dikobarkan akan terlihat seperti ini:
1 Mengkompilasi Python 2.2.3 secara mengejutkan lancar di openSUSE 13.2.
make
,make install
dan executable yang dihasilkan semua mencetak banyak peringatan, tetapi UNBABTIZED berfungsi sebagaimana mestinya.sumber
FUEUE: UNKNOWN , OP
14 kali, kemudianHHeelllloo,, WWoorrlldd!!
, tanpa keluar dari program.$
memulai Python literal, menghasilkan kesalahan sintaksis.Subleq yang lebih tinggi , 52 byte, dipecahkan oleh John WH Smith
Ini tidak benar-benar terlihat seperti esolang, tetapi tidak ada turunan C waras yang akan diterapkan
puts
tanpa baris baru yang tersirat.sumber
Mascarpone, 30 byte, dipecahkan oleh Sp3000
Berbasis tumpukan? Mungkin...
[!dlroW ,olleH]
mendorong semua karakter tersebut ke tumpukan (ya, termasuk pembatas);$
muncul]
; dan kemudian.
masing - masing mencetak satu karakter. Program keluar dengan[
karakter masih di tumpukan.Saya akan membuat output menggunakan loop, tapi saya tidak tahu bagaimana mereka bekerja ...
sumber
$
muncul]
yang untuk beberapa alasan didorongPusaran , 12302 byte, dipecahkan oleh Artyom
Whirl mengabaikan semuanya kecuali 1 dan 0. Saya juga memodifikasi angka lain secara acak, tetapi tidak relevan. Ketika Anda menyimpan hanya 1 dan 0, Anda mendapatkan "Halo, Dunia!" contoh :)
sumber
GNU bc, 36 byte
Versi Foo- imun dari upaya saya sebelumnya .
Ini membutuhkan versi GNU (atau versi lain yang memiliki
print
fungsi) bc. Baris pertama adalah untuk kebingungan: dalam variabel bc tidak harus dideklarasikan dan diinisialisasi dengan0
, jadi kita memiliki tugas yang tidak berguna tetapi dengan sintaks yang valid. Baris kedua hanya mencetakHello, World!
.sumber
module
ataupackage
kata kunci di dalamnya, jadi saya kira itu tidak akan dikompilasi. Mungkin bekerja di REPL, tetapi itu tidak diizinkan.main = do:
).Chef, 1943 byte, dipecahkan oleh Angew
sumber
APL, 39 byte, dipecahkan oleh Mauris
Efisiensi adalah segalanya.
Ini berfungsi di demo ngn-apl .
Mengaburkan APL bukanlah tugas yang mudah jika tujuannya adalah untuk membuatnya terlihat kurang seperti APL.
Inilah yang saya raih:
Kutipan ganda tidak berfungsi di semua dialek. Dyalog, misalnya, tidak mendukung mereka.
ngn / apl adalah satu-satunya dialek yang saya tahu yang menggunakan pengindeksan berbasis nol secara default.
Koma tidak seharusnya ada di sana.
Elemen vektor biasanya dipisahkan oleh spasi saat menulis APL. Namun,
,
konkatasi sehingga kode di dalam kurung menyatukan 13 lajang.Akan terlihat (sedikit) versi kode yang lebih mudah dibawa-bawa dan lebih portabel
yang bekerja di TryAPL , GNU APL.js dan demo ngn / apl .
sumber
ngn-apl
)Mouse , 105 byte
Anda bisa mendapatkan juru bahasa untuk Mouse yang ditulis dalam bahasa C di sini .
Mouse menggunakan notasi Polandia terbalik, sehingga operator mengikuti operan. (Pikirkan Lisp mundur.) Tugas variabel dilakukan menggunakan
<variable>:
dan mengingat nilai variabel dilakukan sebagai<variable>.
. Semua nilai dalam Mouse adalah bilangan bulat.!
menghasilkan bilangan bulat dan!'
menampilkan karakter ASCII yang terkait dengan integer. Semua output ke STDOUT.Untuk alasan apa pun, semua program yang valid harus diakhiri dengan
$
.sumber
Haskell , 637 byte
Video deobfusiasi
sumber
Wordfuck , 1063 byte, dipecahkan oleh Martin Büttner
Perhatikan bahwa ujung garis harus bergaya Unix.
sumber
Wordy , 3279 byte
Seperti yang saya katakan di komentar, tumpukan jerami ini kebanyakan adalah jarum.
Kita dapat menyapa Dunia dengan menjalankan instruksi berikut:
Wordy mengkodekan semua instruksi sebagai kalimat, di mana fraksi kata yang lebih panjang dan lebih pendek dari rata-rata bulat memilih perintah.
Kalimat terpendek yang dapat saya temukan untuk instruksi yang digunakan adalah:
Tetapi bagaimana kita bisa menyembunyikan fakta bahwa panjang kata adalah satu-satunya hal penting dalam kode sumber?
Baik urutan kata maupun karakter kata yang dipilih tidak masalah, asalkan itu adalah alfanumerik, jadi saya memutuskan untuk menambahkan karakter non-alfanumerik acak ke setiap kata untuk membungkus semuanya dengan panjang yang sama. Saya juga menambahkan beberapa non-kata (tidak ada karakter alfanumerik sama sekali) untuk memberikan kode sumber bentuk persegi panjang yang menyenangkan.
Saya telah menghasilkan kode sumber final menggunakan program CJam ini .
sumber