Ця головоломка програмування натхненна ще одним питанням, яке тут було задано вчора, але яке було видалено автором ...
Змагання:
Створіть виконуваний двійковий файл (Windows .EXE або бінарний Linux), використовуючи Visual C # (або ваш улюблений C # IDE), який друкує наступний текст на стандартний вихід:
Main() is the main method of C# programs!
... без використання 4-х послідовних букв ГОЛОВНЕ, що з'являються у жодному вихідному файлі!
Примітки:
- Якщо ваш вихідний код містить текст
remainder
(наприклад), він містить 4 послідовних літери ГОЛОВНЕ, однак якщо він міститьmxain
4 літери, то більше не буде послідовним, томуmxain
це буде дозволено. Вам заборонено запускати будь-які програми, окрім C # IDE, а також не змінювати налаштування C # IDE для запуску інших програм (але тих, які, як правило, запускаються, такі як компілятор C #).
В іншому випадку ви можете просто сказати: "Я пишу програму Pascal за допомогою C # IDE і викликаю компілятор Pascal у кроках" попереднього збирання "мого проекту C #".
Це було б занадто просто.
Користувачі IDE, які можуть бути розширені за допомогою "плагінів" (або подібних) або мають вбудовані редактори двійкових файлів (hex-редактори), мали б занадто велику перевагу перед користувачами інших C # IDE.
Тому ці функції також не слід використовувати.
- Використання інших не-ASCII-редакторів (таких як редактор діалогових вікон) явно дозволено!
- Користувач, який задає оригінальне запитання, запропоноване з використанням зворотної косої риси у назвах функцій, саме так:
static void M\u0061in()
Оскільки цю відповідь вже прочитали інші користувачі, вона більше не буде прийнята! - Користувач запитав, чи буде дозволено просто ввести .EXE-файл у редактор вихідного коду та зберегти файл як ".exe" замість ".cs". Відповідь: Я не сумніваюся, що це можливо, оскільки обидві бінарні файли Windows та Linux містять байти NUL. Однак якщо ви знайдете дійсний двійковий файл, який можна створити таким чином, у вас є дійсне рішення.
Назва цього сайту - "Головоломки та програмування " - це "Головоломка програмування", а не "Код гольф". Завдання полягає в тому, щоб знайти робоче рішення перед усіма іншими користувачами, а не знайти рішення коротше за всіх інших рішення.
Тому перший пост з описом робочого рішення виграє !
Удачі!
До речі: у мене є рішення, що працює під Visual C # Express 2010.