Scrivi un programma che accetta un numero intero N tramite stdin o la riga di comando.
Se N è 0, la singola lettera O
deve essere stampata su stdout.
Se N è positivo , è necessario stampare questa doppia elica orizzontale ASCII , disegnata con N segmenti larghi.
Se N è 1, l'output è:
/\
O O
\/
Se N è 2, l'output è:
/\ /\
O / O
\/ \/
Se N è 3, l'output è:
/\ /\ /\
O / / O
\/ \/ \/
Se N è 4, l'output è:
/\ /\ /\ /\
O / / / O
\/ \/ \/ \/
Il modello continua allo stesso modo per i più grandi N. Nota che la barra ( /
) deve essere usata in tutti i punti in cui le eliche si incrociano, ad eccezione delle O
estremità.
Se N è negativo , deve essere stampata questa doppia elica di arte ASCII verticale , disegnata con segmenti N-alti.
Se N è -1, l'output è:
O
/ \
\ /
O
Se N è -2, l'output è:
O
/ \
\ /
\
/ \
\ /
O
Se N è -3, l'output è:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Se N è -4, l'output è:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Il motivo continua allo stesso modo per i più piccoli N. Nota che le barre rovesciate ( \
) devono essere utilizzate in tutti i punti in cui le eliche si incrociano, tranne le O
estremità.
Dettagli
- Invece di un programma, è possibile scrivere una funzione che accetta N come numero intero e stampa il risultato normalmente o lo restituisce come stringa.
- L'output per qualsiasi N può contenere facoltativamente una nuova riga finale.
- Qualsiasi riga di output per qualsiasi N può facoltativamente contenere 4 o meno spazi finali.
- Non dovrebbe mai esserci spazio iniziale che non faccia parte del modello specificato.
- Vince il codice più breve in byte.
<spc>O<spc>
o \nO\n
. È consentito uno spazio bianco iniziale non necessario?
print "."
Ingrandisci per vedere l'elica. * nodnod *