Há algo de errado com o seu teclado. A Shiftchave tem uma mente própria. Toda vez que você digita um personagem, você não tem idéia se ele sairá alterado ou não (embora seja 50-50). Além das teclas de caracteres padrão, nada no teclado é funcional. Não há mouse ou outro meio de entrada.
De alguma forma, você sabe que a única maneira de consertar as coisas é escrever um programa que produza Dear Computer, please stop giving me shift!
stdout. Felizmente, seu IDE está aberto e você é capaz de executar um programa, mas é claro que, ao digitar, você não saberá quais caracteres serão alterados.
Que sequência de pressionamentos de teclas você usaria para escrever um programa com a melhor chance possível de trabalhar na primeira tentativa?
Detalhes
Você está usando um teclado QWERTY padrão ; portanto, você pode pressionar 50 teclas de caracteres.
Versões não deslocadas (apenas 47):
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./
Versões deslocadas (apenas 47):
~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
Os últimos 3 teclas são Enter, Tabe Space, que são os mesmos mudou e unshifted.
Uma sequência de N desses caracteres possui 2 N - (contagem de caracteres de espaço em branco), como poderia ter sido impressa se você os tivesse digitado com o teclado defeituoso. Por exemplo, a digitação A Space mpode ter gerado
a m
ou A m
ou a M
ou A M
.
Escreva esses caracteres em um programa e observe todas as suas combinações possíveis de 2 N - (contagem de caracteres em espaço em branco) . Quanto mais combinações produzir, Dear Computer, please stop giving me shift!
melhor. Sua pontuação é o número de combinações de trabalho (programas válidos) dividido pelo número total de combinações. A pontuação mais alta vence.
Notas
- Para programas válidos, imprimir com precisão
Dear Computer, please stop giving me shift!
e mais nada a destacar deve ser o único efeito colateral. - Programas válidos não devem receber entrada.
- Programas inválidos podem fazer qualquer coisa.
- Comentários podem ser usados em qualquer lugar.
- As respostas em espaço em branco não podem vencer porque obter uma pontuação de 100% é (relativamente) trivial. Você ainda pode enviar uma solução de espaço em branco por diversão.
- Seu programa deve ter no máximo 1024 caracteres.
Atualização: alterado Stop giving me shift!
para Dear Computer, please stop giving me shift!
permitir respostas mais complexas. As respostas existentes podem permanecer como estão, se desejado.