Вступление:
(Источник: Википедия )
Когда мы смотрим на радугу, она всегда будет иметь цвета сверху вниз:
красный; апельсин; желтый; зеленый; синий; индиго; Фиолетовый
Если мы посмотрим на эти отдельные кольца, красное кольцо, конечно, больше, чем фиолетовое кольцо.
Кроме того, также возможно иметь две или даже три радуги одновременно.
Все это, вместе взятые, будет использовано в этой задаче:
Вызов:
Учитывая целое число n
, выведите столько колец из (возможно, более одного) «радуг», где мы будем использовать буквы vibgyor
для цветов.
См. Контрольные примеры ниже, чтобы увидеть, как они построены вверх n=1
и как следует обрабатывать интервалы (в n=8
). Как видите, между двумя радугами добавляется один пробел, включая расстояние сверху, прежде чем мы добавим кольцо следующей радуги в линию.
Правила вызова:
- Вам разрешено использовать заглавные
VIBGYOR
буквы вместо строчных - Между отдельными радугами должно быть пространство
- Допускается любое количество начальных и / или конечных пробелов / новых строк, если только правильная радуга (где бы она ни находилась на экране)
- На входе всегда будет положительное целое число (
>= 1
). Следовательно, поведение когдаn=0
не определено, и программа / функция может делать все что угодно (ничего не выводить; выводить радугуn=1
; случайный вывод; ошибка с ошибкой и т. Д.) - Вы можете вывести список / массив строк или двумерный массив / список символов, если хотите (вы можете добавить действительный код красивой печати в нижний колонтитул TIO).
- Не обращайте внимания на тот факт, что результаты больше похожи на храмы майя, чем на радугу. XD
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте найти как можно более короткий ответ для «любого» языка программирования. - К вашему ответу применяются стандартные правила , поэтому вы можете использовать STDIN / STDOUT, функции / метод с правильными параметрами и типом возврата, полные программы. Ваш звонок.
- По умолчанию лазейки запрещены.
- Если возможно, добавьте ссылку с тестом для вашего кода.
- Кроме того, добавление объяснения для вашего ответа настоятельно рекомендуется.
Контрольные примеры (с первого n=1
по n=10
, и 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