Introduzione:
(Fonte: Wikipedia )
Quando guardiamo un arcobaleno avrà sempre i colori dall'alto verso il basso:
rosso; arancia; giallo; verde; blu; indaco; viola
Se guardiamo questi singoli anelli, l'anello rosso è ovviamente più grande dell'anello viola.
Inoltre, è anche possibile avere due o anche tre arcobaleno contemporaneamente.
Tutto questo sopra combinato verrà utilizzato in questa sfida:
Sfida:
Dato un numero intero n, genera molti anelli dei "arcobaleni" (forse più di uno), dove useremo le lettere vibgyorper i colori.
Vedere i casi di test di seguito per vedere come sono costruiti verso l'alto n=1e come deve essere gestita la spaziatura (at n=8). Come puoi vedere, viene aggiunto uno spazio tra due arcobaleni, compresa la spaziatura nella parte superiore, prima di aggiungere l'anello del prossimo arcobaleno in linea.
Regole della sfida:
- È consentito utilizzare il capitale
VIBGYORanziché il minuscolo - Dovrebbe esserci uno spazio tra i singoli arcobaleni
- È consentita qualsiasi quantità di spazi / nuove linee iniziali e / o finali, purché l'arcobaleno reale (ovunque sia posizionato sullo schermo) sia corretto
- L'input sarà sempre un numero intero positivo (
>= 1). Il comportamento quandon=0è quindi indefinito e il programma / funzione può fare tutto ciò che vuole (emettere nulla; emettere l'arcobaleno din=1; output casuale; fallire con un errore; ecc.) - È possibile generare un elenco / array di stringhe o array / elenco di caratteri 2D se lo si desidera (è possibile aggiungere il codice di stampa piuttosto reale nel piè di pagina TIO).
- Ignora il fatto che le uscite assomigliano più ai templi Maya che agli arcobaleni .. xD
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti e tipo di ritorno, programmi completi. La tua chiamata.
- Le scappatoie predefinite sono vietate.
- Se possibile, aggiungi un link con un test per il tuo codice.
- Inoltre, si consiglia vivamente di aggiungere una spiegazione per la risposta.
Casi di test (dal primo n=1al n=10, e n=25):
1:
vvv
v v
2:
iii
ivvvi
iv vi
3:
bbb
biiib
bivvvib
biv vib
4:
ggg
gbbbg
gbiiibg
gbivvvibg
gbiv vibg
5:
yyy
ygggy
ygbbbgy
ygbiiibgy
ygbivvvibgy
ygbiv vibgy
6:
ooo
oyyyo
oygggyo
oygbbbgyo
oygbiiibgyo
oygbivvvibgyo
oygbiv vibgyo
7:
rrr
rooor
royyyor
roygggyor
roygbbbgyor
roygbiiibgyor
roygbivvvibgyor
roygbiv vibgyor
8:
vvv
v v
v rrr v
v rooor v
v royyyor v
v roygggyor v
v roygbbbgyor v
v roygbiiibgyor v
v roygbivvvibgyor v
v roygbiv vibgyor v
9:
iii
ivvvi
iv vi
iv rrr vi
iv rooor vi
iv royyyor vi
iv roygggyor vi
iv roygbbbgyor vi
iv roygbiiibgyor vi
iv roygbivvvibgyor vi
iv roygbiv vibgyor vi
10:
bbb
biiib
bivvvib
biv vib
biv rrr vib
biv rooor vib
biv royyyor vib
biv roygggyor vib
biv roygbbbgyor vib
biv roygbiiibgyor vib
biv roygbivvvibgyor vib
biv roygbiv vibgyor vib
25:
ggg
gbbbg
gbiiibg
gbivvvibg
gbiv vibg
gbiv rrr vibg
gbiv rooor vibg
gbiv royyyor vibg
gbiv roygggyor vibg
gbiv roygbbbgyor vibg
gbiv roygbiiibgyor vibg
gbiv roygbivvvibgyor vibg
gbiv roygbiv vibgyor vibg
gbiv roygbiv rrr vibgyor vibg
gbiv roygbiv rooor vibgyor vibg
gbiv roygbiv royyyor vibgyor vibg
gbiv roygbiv roygggyor vibgyor vibg
gbiv roygbiv roygbbbgyor vibgyor vibg
gbiv roygbiv roygbiiibgyor vibgyor vibg
gbiv roygbiv roygbivvvibgyor vibgyor vibg
gbiv roygbiv roygbiv vibgyor vibgyor vibg
gbiv roygbiv roygbiv rrr vibgyor vibgyor vibg
gbiv roygbiv roygbiv rooor vibgyor vibgyor vibg
gbiv roygbiv roygbiv royyyor vibgyor vibgyor vibg
gbiv roygbiv roygbiv roygggyor vibgyor vibgyor vibg
gbiv roygbiv roygbiv roygbbbgyor vibgyor vibgyor vibg
gbiv roygbiv roygbiv roygbiiibgyor vibgyor vibgyor vibg
gbiv roygbiv roygbiv roygbivvvibgyor vibgyor vibgyor vibg
gbiv roygbiv roygbiv roygbiv vibgyor vibgyor vibgyor vibg