Ai fini di questa domanda una curva tortuosa è quella che segue la direzione generale da sinistra a destra, ma fa ripetutamente n + 1 gira a 90 gradi a sinistra e quindi n + 1 gira a destra (per n> 0).
In effetti lo stesso meandro avrà n
segmenti.
I turni sono indicati con +
.
La larghezza dei meandri (la distanza tra due +
) è 3 all'orizzonte ( ---
) e 1 alla verticale (|
)
Ecco i singoli segmenti una curva tortuosa con dimensioni n da 1 a 5:
+-------------------+
| |
+---------------+ | +-----------+ |
| | | | | |
+-----------+ | +-------+ | | | +---+ | |
| | | | | | | | | | | |
+-------+ | +---+ | | +---+ | | | +---+ | | |
| | | | | | | | | | | | | |
+---+ +---+ | +---+ | | +-------+ | | +-----------+ | |
| | 1 | | 2 | | 3 | | 4 | | 5
---+ +-------+ +-----------+ +---------------+ +-------------------+ +
Sfida:
Dati due numeri positivi n
e m
, disegna m
segmenti di una curva tortuosa con dimensionin
. È possibile scrivere un programma completo o una funzione.
Ingresso:
n
> 0 La dimensione della curva
m
> 0 Numero di segmenti da disegnare
Produzione:
Una rappresentazione ASCII della curva tortuosa.
Esempi:
n = 3
m = 2
+-----------+ +-----------+
| | | |
| +---+ | | +---+ |
| | | | | | | |
+---+ | | +---+ | |
| | | |
-----------+ +-----------+ +
n = 2
m = 5
+-------+ +-------+ +-------+ +-------+ +-------+
| | | | | | | | | |
+---+ | +---+ | +---+ | +---+ | +---+ |
| | | | | | | | | |
-------+ +-------+ +-------+ +-------+ +-------+ +
n = 4
m = 4
+---------------+ +---------------+ +---------------+ +---------------+
| | | | | | | |
| +-------+ | | +-------+ | | +-------+ | | +-------+ |
| | | | | | | | | | | | | | | |
| +---+ | | | +---+ | | | +---+ | | | +---+ | |
| | | | | | | | | | | | | | | |
+-------+ | | +-------+ | | +-------+ | | +-------+ | |
| | | | | | | |
---------------+ +---------------+ +---------------+ +---------------+ +
Criteri vincenti:
Questo è code-golf , quindi vince il codice più breve in byte in ogni lingua. Per favore, spiega il tuo codice, se hai tempo per farlo.
n
svolta a sinistra?
n+1
quando guardiamo gli esempi, specialmente tra i singoli segmenti ..