Este quebra-cabeça de programação é inspirado em outra pergunta que foi feita aqui ontem, mas que foi excluída pelo autor ...
O desafio:
Crie um binário executável (Windows .EXE ou Linux) usando o Visual C # (ou seu IDE favorito do C #) que imprime o seguinte texto na saída padrão:
Main() is the main method of C# programs!
... sem usar as 4 letras consecutivas PRINCIPAIS que aparecem em qualquer arquivo de origem!
Notas:
- Se o seu código fonte contiver o texto
remainder
(por exemplo), ele conterá as 4 letras consecutivas MAIN, no entanto, se contivermxain
as 4 letras, não seria mais consecutivo, portanto,mxain
seria permitido. Você não tem permissão para executar nenhum programa, exceto o C # IDE, nem alterar as configurações do C # IDE para executar outros programas (mas os que normalmente seriam executados, como o compilador C #).
Caso contrário, você poderia simplesmente dizer: "Eu escrevo um programa Pascal usando o C # IDE e invoco o compilador Pascal nas etapas de 'pré-compilação' do meu projeto C #".
Isso seria muito simples.
Os usuários de um IDE que possam ser estendidos usando "plug-ins" (ou similares) ou que tenham editores de arquivos binários internos (editores hexadecimais) terão uma vantagem muito grande sobre os usuários de outros IDEs C #.
Portanto, esses talentos também não devem ser usados.
- É permitido o uso de outros editores não ASCII (como o editor da janela de diálogo)!
- O usuário que faz a pergunta original proposta usando a barra invertida nos nomes das funções, assim:
static void M\u0061in()
Como essa resposta já foi lida por outros usuários, ela não será mais aceita! - Um usuário perguntou se seria permitido digitar simplesmente um arquivo .EXE no editor de código-fonte e salvar o arquivo como ".exe" em vez de ".cs". Resposta: Não duvido que isso seja possível porque os binários válidos do Windows e Linux contêm NUL bytes. No entanto, se você encontrar um binário válido que possa ser criado dessa maneira, terá uma solução válida.
O nome deste site é "Quebra - cabeças de programação e código de golfe" - este é um "Quebra-cabeça de programação", não "Código de golfe": o desafio é encontrar uma solução funcional para todos os outros usuários, não encontrar uma solução mais curta que todas as outras soluções.
Portanto, o primeiro post que descreve uma solução funcional vence !
Boa sorte!
A propósito: Eu tenho uma solução trabalhando no Visual C # Express 2010.