Em uma linguagem de programação de sua escolha, escreva 95 programas, cada um com um dos 95 caracteres ASCII imprimíveis, sem que esse caractere ocorra em qualquer lugar do programa .
Por exemplo, se sua linguagem era Python , seu programa que gera o caractere P
pode ser
print(chr(80))
porque P
possui o código ASCII 80. Este programa é válido porque P
nunca aparece no código-fonte. No entanto, para o programa que exibe letras minúsculas p
, algo como
print(chr(112))
seria inválido porque, enquanto é impresso p
, p
está presente no código. Um programa válido pode ser
exec(chr(112)+'rint(chr(112))')
que imprime, p
mas não contém p
.
Seu objetivo é tornar cada um de seus 95 programas o mais curto possível. Sua pontuação é a soma dos comprimentos de caracteres de todos os seus programas.
Se, por algum motivo, você não conseguir escrever programas válidos para alguns caracteres, poderá marcá-los como "Não programou" ou DNP e omitir os programas por completo. Dessa forma, idiomas sintaticamente estritos poderão competir.
A resposta vencedora é a resposta que tem a pontuação mais baixa do conjunto de respostas que têm o menor número de DNP.
Regras
O código fonte de todos os seus programas pode conter apenas guias e novas linhas ASCII imprimíveis e novas, todas contadas como um caractere. (Como em uma codificação diferente, seria fácil omitir caracteres que não existem!)
- Nota: Essa regra parece necessária, mas há muitos idiomas com codificações diferentes e tenho certeza de que seria legal ver as respostas para elas. Portanto, você pode violar essa regra , pode usar os caracteres que quiser, mas sua resposta se tornará não competitiva e não poderá vencer.
Os programas devem ser reais, completos programas , de acordo com as convenções padrão do seu idioma. Funções e snippets REPL não são permitidos.
A saída de cada programa deve ir para stdout ou a alternativa aceita pelo seu idioma.
Os programas não devem solicitar ou exigir entrada. (Se a solicitação de entrada é inerente ao seu idioma, tudo bem.)
Os programas devem ser determinísticos, finitos em tempo de execução e independentes. por exemplo, não importa se um é executado em uma pasta separada dos outros programas.
A saída de um programa deve ser o caractere ASCII imprimível preciso a que corresponde, opcionalmente seguido por uma única nova linha à direita, nada mais, nada menos.
Certifique-se de incluir informações sobre todos os 95 programas (idealmente) em sua resposta, assim como sua pontuação e qualquer DNP. Você não tem que listar todos os programas que seguem um padrão simples como " , ...", mas verifique se você está certo de que todos eles iria funcionar e que a sua pontuação é adicionado corretamente.print(chr(80))
print(chr(81))
print(chr(82))
Para referência, aqui estão as 95 ASCII imprimíveis que seus programas devem gerar:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
0