Para o propósito desta pergunta, uma curva sinuosa é aquela que segue a direção geral da esquerda para a direita, mas faz repetidamente n + 1 voltas a 90 graus à esquerda e depois n + 1 vira à direita (para n> 0).
De fato, o meandro terá nsegmentos.
Os turnos são indicados com +.
A largura dos meandros (a distância entre dois +) é 3 no horizonte ( ---) e 1 na vertical ( |)
Aqui estão os segmentos únicos de uma curva sinuosa com tamanhos n de 1 a 5:
+-------------------+
| |
+---------------+ | +-----------+ |
| | | | | |
+-----------+ | +-------+ | | | +---+ | |
| | | | | | | | | | | |
+-------+ | +---+ | | +---+ | | | +---+ | | |
| | | | | | | | | | | | | |
+---+ +---+ | +---+ | | +-------+ | | +-----------+ | |
| | 1 | | 2 | | 3 | | 4 | | 5
---+ +-------+ +-----------+ +---------------+ +-------------------+ +
Desafio:
Dados dois números positivos ne m, desenhe msegmentos de uma curva sinuosa com o tamanho n. Você pode escrever um programa completo ou uma função.
Entrada:
n > 0 O tamanho da curva
m > 0 Número de segmentos para desenhar
Resultado:
Uma representação ASCII da curva sinuosa.
Exemplos:
n = 3
m = 2
+-----------+ +-----------+
| | | |
| +---+ | | +---+ |
| | | | | | | |
+---+ | | +---+ | |
| | | |
-----------+ +-----------+ +
n = 2
m = 5
+-------+ +-------+ +-------+ +-------+ +-------+
| | | | | | | | | |
+---+ | +---+ | +---+ | +---+ | +---+ |
| | | | | | | | | |
-------+ +-------+ +-------+ +-------+ +-------+ +
n = 4
m = 4
+---------------+ +---------------+ +---------------+ +---------------+
| | | | | | | |
| +-------+ | | +-------+ | | +-------+ | | +-------+ |
| | | | | | | | | | | | | | | |
| +---+ | | | +---+ | | | +---+ | | | +---+ | |
| | | | | | | | | | | | | | | |
+-------+ | | +-------+ | | +-------+ | | +-------+ | |
| | | | | | | |
---------------+ +---------------+ +---------------+ +---------------+ +
Critérios de vitória:
Isso é código-golfe , então o código mais curto em bytes em cada idioma vence. Por favor, explique seu código, se você tiver tempo para fazê-lo.
nvirar à esquerda?
n+1quando se olha para os exemplos, especialmente entre os únicos segmentos ..