Bu programlama bulmacasına dün burada sorulan ancak yazar tarafından silinen başka bir sorudan ilham alındı ...
Meydan okuma:
Aşağıdaki metni standart çıktıya yazdıran Visual C # (veya en sevdiğiniz C # IDE) kullanarak yürütülebilir bir ikili dosya (Windows .EXE veya Linux ikili dosyası) oluşturun:
Main() is the main method of C# programs!
... MAIN herhangi bir kaynak dosyada görünen 4 ardışık harf kullanmadan!
Notlar:
- Kaynak kodunuz
remainder
(örneğin) metni içeriyorsa, birbirini takip eden 4 MAIN harfi içerir, ancakmxain
4 harfi içeriyorsa , art arda ardışıkmxain
olmayacaktır. C # IDE dışında herhangi bir program çalıştırmanıza ve diğer programları çalıştırmak için C # IDE ayarlarını değiştirmenize izin verilmez (ancak normalde C # derleyicisi gibi çalışacakları).
Aksi takdirde şunu söyleyebilirsiniz: "C # IDE kullanarak bir Pascal programı yazıyorum ve Pascal derleyicisini C # projemin 'pre-build' adımlarında çağırıyorum".
Bu çok basit olurdu.
"Eklentiler" (veya benzeri) kullanılarak genişletilebilen veya yerleşik ikili dosya düzenleyicileri (onaltılık düzenleyiciler) olan bir IDE kullanıcıları, diğer C # IDE'lerin kullanıcılarına göre çok büyük bir avantaja sahip olacaktır .
Bu nedenle bu özellikler de kullanılmamalıdır.
- ASCII olmayan diğer Editörlerin (iletişim penceresi düzenleyicisi gibi) kullanımına açıkça izin verilir!
- İşlev adlarında ters eğik çizgi kullanılarak önerilen orijinal soruyu soran kullanıcı şu şekilde:
static void M\u0061in()
Bu yanıt diğer kullanıcılar tarafından zaten okunduğundan artık kabul edilmeyecektir! - Bir kullanıcı, kaynak kod düzenleyicisine bir .EXE dosyası yazmasına ve ".cs" yerine ".exe" olarak kaydetmesine izin verilip verilmeyeceğini sordu. Cevap: Bunun geçerli olduğundan emin değilim çünkü hem geçerli Windows hem de Linux ikili dosyaları NUL bayt içeriyor. Ancak bu şekilde oluşturulabilecek geçerli bir ikili dosya bulursanız, geçerli bir çözümünüz olur.
Bu sitenin adı "Programlama Bulmacaları ve Kod Golf" - bu bir "Programlama Bulmaca", "Kod Golf" değil: Zorluk diğer tüm kullanıcılar daha önce değil, diğer tüm daha kısa bir çözüm bulmak için çalışan bir çözüm bulmaktır çözümleri.
Bu nedenle çalışan bir çözümü tanımlayan ilk yazı kazanır !
İyi şanslar!
Bu arada: Visual C # Express 2010 altında çalışan bir çözümüm var.