var primes = (^Inf -> lazy.grep{.is_prime}) var upto = 1e6 var conspiracy = Hash() primes.first(upto+1).reduce { |a,b| var d = b%10 conspiracy{"#{a} → #{d}"} := 0 ++ d } for k,v in (conspiracy.sort_by{|k,_v| k }) { printf("%s count: %6s\tfrequency: %2.2f %\n", k, v.commify, v / upto * 100) }