(Inspirado nos 95 personagens da ASCII ... 95 citações de filmes )
O desafio
Dada a entrada n
, emita o nth
número de Fibonacci . Você pode usar a indexação 0
ou 1
, indique qual em seu envio. Simples, sim? O problema é que você deve pegar o conjunto de caracteres da resposta imediata imediata, remover dois caracteres e adicionar um caractere separado. O caractere separado deve
- não seja do conjunto de caracteres da resposta anterior imediata
- ser do conjunto de (ASCII imprimível, espaço, nova linha, guia horizontal)
e, portanto, o tamanho total do conjunto de caracteres será exatamente um menor que o conjunto da resposta anterior imediata.
A resposta inicial
O primeiro envio deve conter um subconjunto de (todos os ASCII imprimíveis, espaço, nova linha e guia horizontal) com dois caracteres removidos. Todas as submissões posteriores devem restringir suas respostas a este formato original ASCII (o que significa que você não pode adicionar um caractere Unicode ou ASCII estendido ... desculpe Jelly, APL, et al.).
Exemplos e esclarecimentos
- Suponha que a primeira resposta esteja em C e contenha (quase todas as guias ASCII, nova linha e horizontal imprimíveis) e omita o
%
e^
de seu conjunto de caracteres. O segundo envio, portanto, deve remover dois caracteres do conjunto de caracteres anterior (quase todos os ASCII, nova linha e guia horizontal imprimíveis) e adicionar o%
ou^
. Talvez seja uma resposta do PowerShell de uma linha que omita a nova linha. E assim por diante. - Se a resposta anterior tivesse
print(){}!*+
como conjunto de caracteres (12 caracteres), seu envio poderia terprint(){}!
(10 caracteres) e um caractere adicional,print(){!+
(10 caracteres) e um caractere adicional, etc. - Se a resposta anterior tivesse
print(){}!*+
como conjunto de caracteres (12 caracteres), seu envio não poderia terprint()
e&
(8 caracteres) como conjunto de caracteres, desde12 - 8 > 1
. - Se a resposta anterior tivesse
print(){}!*+
como conjunto de caracteres (12 caracteres), seu envio não poderia terprint(){}!
(10 caracteres) mais caracteres adicionais*
como conjunto de caracteres, pois, embora sejam 11 caracteres, ele*
está incluído no conjunto anterior. - Nem todos os caracteres do seu conjunto de caracteres devem fazer algo útil para o envio. Por exemplo, se a resposta anterior tiver
print(){}!*+
como conjunto de caracteres e seu idioma tiver um built-in!
que calcule a sequência de Fibonacci e#
inicie um comentário, seu envio poderá ser!#print(){}
e ainda será válido. - Você pode usar o mesmo caractere do seu conjunto de caracteres várias vezes. Por exemplo, suponha que seu conjunto de caracteres seja
!*#_
, sua resposta poderia ser!!!**#**#_!!
e seria aceitável. - Além do seu código (e uma explicação também é legal!), Liste explicitamente o seu conjunto de caracteres, para facilitar para envios futuros.
Ganhando
O vencedor do desafio será a pessoa que postou a segunda submissão mais recente (ou seja, não a pessoa que postou por último, desde que rompeu a cadeia).
Regras finais
Aplicam-se regras usuais de encadeamento de respostas :
- A mesma pessoa não pode postar duas vezes seguidas
- Se uma resposta for considerada inválida (por exemplo, ele usou um caractere proibido ou não é calculado corretamente), ela precisa ser excluída (e todas as respostas subsequentes que se aceleram também)
- Dois usuários que postarem "ao mesmo tempo" terão que deixar o envio anterior permanecer
- O mesmo idioma não pode ser postado duas vezes seguidas. Para os fins desta regra, os idiomas da mesma família (por exemplo, Python 2 e Python 3) contam como "a mesma linguagem".
Coisas finais:
- Esta postagem funciona melhor se você classificar por "Mais antigo" para que as respostas estejam na ordem correta.
- Kyle Gullion construiu um verificador de código em Python aqui para verificar se você está ausente ou usando caracteres errados.