func μ(n) { var f = n.factor_exp.map { .tail } f.any { _ > 1 } ? 0 : ((-1)**f.sum) } with (199) { |n| say "Values of the Möbius function for numbers in the range 1..#{n}:" [' '] + (1..n->map(μ)) -> each_slice(20, {|*line| say line.map { '%2s' % _ }.join(' ') }) }