Java - 126 caracteres
minimizado:
class hjq{public static void main(String...w){for(char z='"'|0;++z!='a';)if("'()+.0;=OS".indexOf(z)==~0)System.out.print(z);}}
não minimizado:
class hjq {
public static void main(String... w) {
for (char z = '"'|0; ++z != 'a';) {
if ("'()+.0;=OS".indexOf(z) == ~0) {
System.out.print(z);
}
}
}
}
Esse é um problema interessante, porque os tokens individuais podem se beneficiar de sua forma mais longa porque reutilizam caracteres. Por exemplo, normalmente String[]seria mais curto, mas String...elimina a necessidade de colchetes na sequência condicional.
Descobri que o truque era tentar usar caracteres no início e no final do intervalo para que você possa excluí-los da saída simplesmente alterando o início e o fim do loop.
Para Java, um personagem-chave para excluir é ", porque ter que na seqüência requer escapar dela, que adiciona \ao seu programa, que precisa ir na corda, que acrescenta \\. Ao remover "da sua cadeia condicional, você remove 4 caracteres. Isto pode ser conseguido por ter certeza que você usa e !e iniciar o seu ciclo de #.
Todas as letras minúsculas aparecer perto do final do intervalo, com apenas {, |, }e ~atrás deles. Devido à verbosidade do Java, a maioria das letras minúsculas é usada apenas para o clichê. Da mesma forma, {e }são triviais para um programa Java, porque o clichê requer isso.
|pode ser usado se você tiver uma condição ou, mas não consegui encontrar uma maneira de tirar vantagem de uma que leva a um programa mais curto do que apenas usar |como um operador bit a bit. O |0que me faz sentir um pouco sujo, porque é a única parte que é um nop apenas para obter o personagem lá dentro.
~0rendimentos -1, o que é útil, porque é com isso que precisamos verificar indexOf. Combinar isso com o uso !=do loop condicional elimina <completamente o caractere, o que significa que ele não precisa entrar na sequência condicional.
0x20para0x7e, que são definidos como os "caracteres ASCII imprimíveis". Tecnicamente, guias e novas linhas são realmente caracteres de controle.