Population count: Difference between revisions

Content added Content deleted
Line 1,256: Line 1,256:
puts "Powers of 3:", (0...30).map{|n| (3u64 &** n).popcount}.join(' ') # &** to prevent arithmetic overflow
puts "Powers of 3:", (0...30).map{|n| (3u64 &** n).popcount}.join(' ') # &** to prevent arithmetic overflow
puts "Evil:" , 0.step.select(&.evil?).first(30).join(' ')
puts "Evil:" , 1.step.select(&.evil?).first(30).join(' ')
puts "Odious:", 0.step.reject(&.evil?).first(30).join(' ')</lang>
puts "Odious:", 1.step.reject(&.evil?).first(30).join(' ')</lang>
{{Output}}<pre>Powers of 3:
{{Out}}<pre>Powers of 3:
1 2 2 4 3 6 6 5 6 8 9 13 10 11 14 15 11 14 14 17 17 20 19 22 16 18 24 30 25 25
1 2 2 4 3 6 6 5 6 8 9 13 10 11 14 15 11 14 14 17 17 20 19 22 16 18 24 30 25 25
Evil:
Evil:
0 3 5 6 9 10 12 15 17 18 20 23 24 27 29 30 33 34 36 39 40 43 45 46 48 51 53 54 57 58
3 5 6 9 10 12 15 17 18 20 23 24 27 29 30 33 34 36 39 40 43 45 46 48 51 53 54 57 58 60
Odious:
Odious:
1 2 4 7 8 11 13 14 16 19 21 22 25 26 28 31 32 35 37 38 41 42 44 47 49 50 52 55 56 59
1 2 4 7 8 11 13 14 16 19 21 22 25 26 28 31 32 35 37 38 41 42 44 47 49 50 52 55 56 59