func is_magnanimous(n) { 1..n.ilog10 -> all {|k| sum(divmod(n, k.ipow10)).is_prime } } say "First 45 magnanimous numbers:" say is_magnanimous.first(45).join(' ') say "\n241st through 250th magnanimous numbers:" say is_magnanimous.first(250).last(10).join(' ') say "\n391st through 400th magnanimous numbers:" say is_magnanimous.first(400).last(10).join(' ')