Skip to main content
6 of 6
In-lined a variable
Veskah
  • 4.1k
  • 14
  • 31

PowerShell, 108 98 89 85 bytes

param($x)($x+=$x/7-replace'\..*')..0|%{' '*$_+-join(" vibgyor"*$x)[$x..$_+$_+$_..$x]} 

Try it online!

This one feels pretty alright now. Banker's rounding is still the devil and I figured out how to make a non-dumb join. I tried monkeying with $ofs to not much success. Speaking of, the results without joins look pretty good, a bit melty:

 vvv v v v rrr v v r ooo r v v r o yyy o r v v r o y ggg y o r v v r o y g bbb g y o r v v r o y g b iii b g y o r v v r o y g b i vvv i b g y o r v v r o y g b i v v i b g y o r v 
Veskah
  • 4.1k
  • 14
  • 31