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
7
e51
. 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
n
dado como entrada e crie uma linha da árvore desse tamanho.Subtrair
4
a partirn
e criar uma linha da árvore que comprimento.Subtrair
2
a partirn
e criar uma linha da árvore que comprimento.Decrementar
n
por2
. Depois disso, a menos que sejan
igual5
, 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 2
do 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.
7
como entrada ou se pode aceitar 4
, como no quarto número ímpar (ou 3
se é 0).