Teka-teki pemrograman ini terinspirasi oleh pertanyaan lain yang telah ditanyakan di sini kemarin tetapi yang telah dihapus oleh penulis ...
Tantangan:
Buat biner yang dapat dieksekusi (Windows .EXE atau Linux binary) menggunakan Visual C # (atau IDE C # favorit Anda) yang mencetak teks berikut ke output standar:
Main() is the main method of C# programs!
... tanpa menggunakan 4 huruf berturut-turut MAIN muncul di file sumber apa pun!
Catatan:
- Jika kode sumber Anda berisi teks
remainder
(misalnya) berisi 4 huruf berturut-turut MAIN, namun jika mengandungmxain
4 huruf tidak akan berturut-turut lagi makamxain
akan diizinkan. Anda tidak diperbolehkan menjalankan program apa pun kecuali C # IDE atau mengubah pengaturan C # IDE untuk menjalankan program lain (tetapi yang biasanya dijalankan seperti kompiler C #).
Kalau tidak, Anda bisa mengatakan: "Saya menulis program Pascal menggunakan C # IDE dan memanggil kompilator Pascal dalam langkah-langkah 'pra-bangun' proyek C # saya".
Ini terlalu sederhana.
Pengguna IDE yang dapat memperluas menggunakan "plug-in" (atau serupa) atau yang memiliki editor file biner (hex-editor) akan memiliki keuntungan terlalu besar dibandingkan pengguna C # IDE lainnya.
Oleh karena itu fitur ini juga tidak boleh digunakan.
- Menggunakan Editor non-ASCII lainnya (seperti editor jendela dialog) diizinkan secara eksplisit!
- Pengguna yang mengajukan pertanyaan asli yang diajukan menggunakan backslash dalam nama fungsi seperti ini:
static void M\u0061in()
Karena jawaban ini telah dibaca oleh pengguna lain, maka tidak akan diterima lagi! - Seorang pengguna bertanya apakah itu akan diizinkan untuk cukup ketik file .EXE ke dalam editor kode sumber dan untuk menyimpan file sebagai ".exe" bukan ".cs". Jawaban: Saya ragu ini mungkin karena binari Windows dan Linux yang valid mengandung byte NUL. Namun jika Anda menemukan biner yang valid yang dapat dibuat dengan cara ini, Anda memiliki solusi yang valid.
Nama situs ini adalah "Programming Puzzles & Code Golf" - ini adalah "Programming Puzzle", bukan "Code Golf": Tantangannya adalah untuk menemukan solusi yang berfungsi sebelum semua pengguna lain, bukan untuk menemukan solusi yang lebih pendek daripada yang lainnya solusi.
Karenanya posting pertama yang menggambarkan solusi yang berfungsi akan menang !
Semoga berhasil!
Omong-omong: Saya punya solusi yang bekerja di bawah Visual C # Express 2010.