場合の数 10個のりんごを3人に分ける
を見ても全然わからなかったので、プログラムの力を使って強引に解いてみた。
count = 0 (1..10).each do |i| (1..10).each do |j| (1..10).each do |k| if i + j + k == 10 count += 1 puts "#{i} #{j} #{k} count => #{count}" end end end end 1 1 8 count => 1 1 2 7 count => 2 1 3 6 count => 3 1 4 5 count => 4 1 5 4 count => 5 1 6 3 count => 6 1 7 2 count => 7 1 8 1 count => 8 2 1 7 count => 9 2 2 6 count => 10 2 3 5 count => 11 2 4 4 count => 12 2 5 3 count => 13 2 6 2 count => 14 2 7 1 count => 15 3 1 6 count => 16 3 2 5 count => 17 3 3 4 count => 18 3 4 3 count => 19 3 5 2 count => 20 3 6 1 count => 21 4 1 5 count => 22 4 2 4 count => 23 4 3 3 count => 24 4 4 2 count => 25 4 5 1 count => 26 5 1 4 count => 27 5 2 3 count => 28 5 3 2 count => 29 5 4 1 count => 30 6 1 3 count => 31 6 2 2 count => 32 6 3 1 count => 33 7 1 2 count => 34 7 2 1 count => 35 8 1 1 count => 36
ちゃんと答えの36通りになった。