On Jul 15, 2010, at 11:30 , Phrogz wrote: > C:\>type tmp.rb > count = 0 > combo = nil > (1..166).to_a.combination(5).each do |c| > count+= 1; combo = c > end > p count, combo > > C:\>ruby -v tmp.rb > ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32] > 129462338 > [5, 34, 54, 73, 81] > > Yeah...no one could possibly need to run more than 129 million > combinations, and...I'm getting kinda tired, so...yeah, let's just > stop here. > > WTF? wfm: #!/usr/bin/ruby -w class Integer def f! (1..self).inject { |prod, n| prod * n } end end expected = ((166.f!)/(5.f! * 161.f!).to_f).to_i # => 988455798 count = 0 combo = nil (1..166).to_a.combination(5).each do |c| count += 1; combo = c end p count, combo p count == expected # outputs: # # ~/.multiruby/install/1.9.1-p129/bin/ruby wtf.rb # 988455798 # [162, 163, 164, 165, 166] # true