이 프로그래밍 퍼즐은 어제 여기에 묻었지만 저자가 삭제 한 또 다른 질문에서 영감을 얻었습니다.
도전 과제 :
다음 텍스트를 표준 출력으로 인쇄하는 Visual C # (또는 선호하는 C # IDE)을 사용하여 실행 가능한 바이너리 (Windows .EXE 또는 Linux 바이너리)를 만듭니다.
Main() is the main method of C# programs!
... 모든 소스 파일에 4 개의 연속 문자 MAIN이 사용되지 않습니다!
노트:
- 소스 코드에 텍스트가 포함 된 경우
remainder
(예를 들어) 4 개의 연속 문자 MAIN이 포함되지만mxain
4 개의 문자가 포함 된 경우 더 이상 연속되지 않으므로mxain
허용됩니다. 프로그램을 실행할 수 없으며 C # IDE를 사용하거나 C # IDE의 설정을 변경하여 다른 프로그램을 실행할 수 있습니다 (그러나 일반적으로 C # 컴파일러와 같이 실행되는 프로그램).
그렇지 않으면 "C # IDE를 사용하여 Pascal 프로그램을 작성하고 C # 프로젝트의 '사전 빌드'단계에서 Pascal 컴파일러를 호출합니다"라고 간단히 말할 수 있습니다.
이것은 너무 간단합니다.
"플러그인"(또는 이와 유사한)을 사용하여 확장 할 수 있거나 내장 이진 파일 편집기 (16 진 편집기)가있는 IDE 사용자는 다른 C # IDE 사용자에 비해 너무 큰 이점이 있습니다.
따라서 이러한 특징도 사용해서는 안됩니다.
- 대화 상자 창 편집기와 같은 다른 비 ASCII 편집기를 사용하는 것은 명시 적으로 허용됩니다!
- 함수 이름에 백 슬래시를 사용하여 제안 된 원래 질문을하는 사용자는 다음과 같이 기능합니다.
static void M\u0061in()
이 답변은 다른 사용자가 이미 읽었으므로 더 이상 허용되지 않습니다! - 사용자는 소스 코드 편집기에 .EXE 파일을 입력하고 ".cs"대신 ".exe"로 파일을 저장할 수 있는지 묻습니다. 답변 : 유효한 Windows 및 Linux 바이너리 모두에 NUL 바이트가 포함되어 있기 때문에 이것이 가능하지는 않습니다. 그러나이 방법으로 만들 수있는 유효한 바이너리를 찾으면 유효한 솔루션이 있습니다.
이 사이트의 이름은 "Programming Puzzles & Code Golf"입니다. 이것은 "Code Golf"가 아닌 "Programming Puzzle"입니다. 문제는 다른 모든 사용자보다 먼저 솔루션을 찾는 것입니다. 솔루션.
따라서 작업 솔루션을 설명하는 첫 번째 게시물이 승리합니다 !
행운을 빕니다!
그건 그렇고 : Visual C # Express 2010에서 작동하는 솔루션이 있습니다.