fork download
  1. require 'set'
  2. r = 1..9999
  3. c = r.to_a.fill(0)
  4. s = r.to_set
  5. while !s.empty?
  6. n = rand(r)
  7. c[n - r.first] += 1
  8. s.delete n
  9. end
  10. p c.sum
  11. p c.sum.to_f / c.size
  12. p c.minmax
  13. puts (c.min..c.max).map {|n| [n, c.select {|m| m == n}.sum]}.map {|a| a.join("\t")}
  14.  
Success #stdin #stdout 0.07s 8828KB
stdin
Standard input is empty
stdout
84736
8.474447444744474
[1, 22]
1	15
2	152
3	690
4	1736
5	3790
6	6522
7	8771
8	11064
9	12177
10	10890
11	9383
12	7116
13	4862
14	3276
15	1950
16	928
17	731
18	324
19	133
20	120
21	84
22	22