Desafio
Todos sabemos sobre árvores de Natal normais - mas que tal uma árvore de Natal de cabeça para baixo ! Este é um desafio bastante fácil para o Natal. O objetivo deste desafio é me tornar uma árvore de Natal de cabeça para baixo ASCII. Aqui estão as regras para este desafio:
- Aceite um número inteiro ímpar positivo. Você pode assumir que sempre estará entre
7e51. A base da árvore será composta pelos caracteres:
___ \ / |O topo da árvore (a estrela) será constituído por uma única
*.Cada linha da árvore será construída usando o formato
<?>onde?houver qualquer número de-s. Por exemplo, se estiver fazendo uma linha de comprimento5, a linha deve ser<--->. Ou, se estiver fazendo uma linha de comprimento8, a linha deve ser<------>.Aqui está como o corpo da árvore deve ser construído:
Pegue o número ímpar
ndado como entrada e crie uma linha da árvore desse tamanho.Subtrair
4a partirne criar uma linha da árvore que comprimento.Subtrair
2a partirne criar uma linha da árvore que comprimento.Decrementar
npor2. Depois disso, a menos que sejanigual5, volte para a etapa 2.
A base (consulte a etapa 2.) a estrela (consulte a etapa 3.) e cada linha da árvore (consulte as etapas 4. e 5.) devem ser centralizadas usando a entrada do número ímpar original (consulte a etapa 1.) como o valor máximo largura.
Exemplos / Casos de Teste
odd number inputed: 7
___
\ /
|
<-----> line length -> 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 13
___
\ /
|
<-----------> line length -> 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 9
___
\ /
|
<-------> line length -> 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
odd number inputed: 17
___
\ /
|
<---------------> line length -> 17
<-----------> line length -> 17 - 4 = 13
<-------------> line length -> 17 - 2 = 15
<---------> line length -> 15 - 4 = 11
<-----------> line length -> 15 - 2 = 13
<-------> line length -> 13 - 4 = 9
<---------> line length -> 13 - 2 = 11
<-----> line length -> 11 - 4 = 7
<-------> line length -> 11 - 2 = 9
<---> line length -> 9 - 4 = 5
<-----> line length -> 9 - 2 = 7
<-> line length -> 7 - 4 = 3
<---> line length -> 7 - 2 = 5
*
Regras
- Aplicam-se brechas padrão .
- Isso é código-golfe , então a resposta mais curta em bytes vence!
repeat the above steps until the odd number minus 2 equals 5- na primeira entrada, o número ímpar é 7, e 7-2 = 5, portanto, a árvore deve terminar instantaneamente (eu sei que você quer dizer, mas precisa reformular)
7, a entrada mínima, você primeiro criar as três linhas de árvores (sub-etapas .1.1, .1.2, .1.3), em seguida, subtrair 2do número ímpar e testar se ele é igual 5. A instrução para verificar se o "número ímpar menos 2 é igual a 5" está no final, os outros três passos devem ser executados primeiro. Mas, para responder seu primeiro comentário, tudo bem.
7como entrada ou se pode aceitar 4, como no quarto número ímpar (ou 3se é 0).