Advertisement
t_a_w

product/sum guessing game

Apr 1st, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.38 KB | None | 0 0
  1. pry> opts = (1..9).to_a.product((1..9).to_a).select{|a,b| a>=b}
  2. [15] pry(main)> opts = opts.group_by{|a,b| a*b}.values.select{|x| x.size > 1}.flatten(1)
  3. => [[2, 2], [4, 1], [3, 2], [6, 1], [3, 3], [9, 1], [4, 2], [8, 1], [4, 3], [6, 2], [4, 4], [8, 2], [6, 3], [9, 2], [6, 4], [8, 3], [6, 6], [9, 4]] # Pete says no
  4. [16] pry(main)> opts.group_by{|a,b| a+b}.values.select{|x| x.size > 1}.flatten(1)
  5. => [[4, 1], [3, 2], [6, 1], [4, 3], [3, 3], [4, 2], [9, 1], [8, 2], [6, 4], [8, 1], [6, 3], [6, 2], [4, 4], [9, 2], [8, 3]] # Susan sas no
  6. [17] pry(main)> opts = opts.group_by{|a,b| a+b}.values.select{|x| x.size > 1}.flatten(1)
  7. => [[4, 1], [3, 2], [6, 1], [4, 3], [3, 3], [4, 2], [9, 1], [8, 2], [6, 4], [8, 1], [6, 3], [6, 2], [4, 4], [9, 2], [8, 3]] # Pete says no
  8. [18] pry(main)> opts = opts.group_by{|a,b| a*b}.values.select{|x| x.size > 1}.flatten(1)
  9. => [[3, 2], [6, 1], [4, 3], [6, 2], [3, 3], [9, 1], [4, 2], [8, 1], [8, 2], [4, 4], [6, 4], [8, 3], [6, 3], [9, 2]] # Susan says no
  10. [19] pry(main)> opts = opts.group_by{|a,b| a+b}.values.select{|x| x.size > 1}.flatten(1)
  11. => [[6, 1], [4, 3], [6, 2], [4, 4], [3, 3], [4, 2], [9, 1], [8, 2], [6, 4], [8, 1], [6, 3], [8, 3], [9, 2]] # Pete says no 3
  12. [20] pry(main)> opts = opts.group_by{|a,b| a*b}.values.select{|x| x.size > 1}.flatten(1)
  13. => [[4, 3], [6, 2], [4, 4], [8, 2], [3, 3], [9, 1], [4, 2], [8, 1], [6, 4], [8, 3], [6, 3], [9, 2]] # Susan says no 3
  14. [21] pry(main)> opts = opts.group_by{|a,b| a+b}.values.select{|x| x.size > 1}.flatten(1)
  15. => [[6, 2], [4, 4], [8, 2], [9, 1], [6, 4], [3, 3], [4, 2], [8, 1], [6, 3], [8, 3], [9, 2]] # Pete says no 4
  16. [22] pry(main)> opts = opts.group_by{|a,b| a*b}.values.select{|x| x.size > 1}.flatten(1)
  17. => [[4, 4], [8, 2], [9, 1], [3, 3], [6, 4], [8, 3], [4, 2], [8, 1], [6, 3], [9, 2]] # Susan says no 4
  18. [23] pry(main)> opts = opts.group_by{|a,b| a+b}.values.select{|x| x.size > 1}.flatten(1)
  19. => [[8, 2], [9, 1], [6, 4], [3, 3], [4, 2], [8, 3], [9, 2], [8, 1], [6, 3]] # Pete says no 5
  20. [24] pry(main)> opts = opts.group_by{|a,b| a*b}.values.select{|x| x.size > 1}.flatten(1)
  21. => [[9, 1], [3, 3], [6, 4], [8, 3], [4, 2], [8, 1], [9, 2], [6, 3]] # Susan says no 5
  22. [25] pry(main)> opts = opts.group_by{|a,b| a+b}.values.select{|x| x.size > 1}.flatten(1)
  23. => [[9, 1], [6, 4], [3, 3], [4, 2], [8, 3], [9, 2], [8, 1], [6, 3]]
  24. [26] pry(main)> opts = opts.group_by{|a,b| a*b}.values.select{|x| x.size > 1}.flatten(1)
  25. => [[9, 1], [3, 3], [6, 4], [8, 3], [4, 2], [8, 1], [9, 2], [6, 3]]
  26. [27] pry(main)> opts = opts.group_by{|a,b| a+b}.values.select{|x| x.size > 1}.flatten(1)
  27. => [[9, 1], [6, 4], [3, 3], [4, 2], [8, 3], [9, 2], [8, 1], [6, 3]]
  28. [28] pry(main)> opts = opts.group_by{|a,b| a*b}.values.select{|x| x.size > 1}.flatten(1)
  29. => [[9, 1], [3, 3], [6, 4], [8, 3], [4, 2], [8, 1], [9, 2], [6, 3]]
  30. [29] pry(main)> opts = opts.group_by{|a,b| a+b}.values.select{|x| x.size > 1}.flatten(1)
  31. => [[9, 1], [6, 4], [3, 3], [4, 2], [8, 3], [9, 2], [8, 1], [6, 3]]
  32. [30] pry(main)> opts = opts.group_by{|a,b| a*b}.values.select{|x| x.size > 1}.flatten(1)
  33. => [[9, 1], [3, 3], [6, 4], [8, 3], [4, 2], [8, 1], [9, 2], [6, 3]]
  34. [31] pry(main)> opts = opts.group_by{|a,b| a+b}.values.select{|x| x.size > 1}.flatten(1)
  35. => [[9, 1], [6, 4], [3, 3], [4, 2], [8, 3], [9, 2], [8, 1], [6, 3]]
  36. [32] pry(main)> opts.map{|a,b| [a,b,a+b,a*b]}
  37. => [[9, 1, 10, 9], [6, 4, 10, 24], [3, 3, 6, 9], [4, 2, 6, 8], [8, 3, 11, 24], [9, 2, 11, 18], [8, 1, 9, 8], [6, 3, 9, 18]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement