情報科学概論 Aクラス 宿題 2002.5.21

m個のものからn個を取る組合わせの数の計算を行うスクリプトを作成し、ファイル名 を s0240**-5-21.rb としてメールに添付して提出すること.スクリ プトの動作は,次に示すようにコマンドライン引数に上記のmn の二つの数値を与えるようにする.すなわち、

$ ruby s0240**-5-21.rb 10 5

のように数値を二つ与えて実行する.また,出力は次のようになるように printf 文を用いることとする.変数名の付け方は従来のものによる.


解答例


m = ARGV[0].to_i
n = ARGV[1].to_i
fact1 = fact2 = 1

for i in 1..n
  fact1 *= m - i + 1
  fact2 *= i
end

printf "The number of combinations becomes %d.\n", fact1 / fact2


情報科学概論 Bクラス 宿題 2002.5.21

赤い玉がm個,青い玉がn個あるとき,並べ方の総数の計算を行うスクリプトを作成し、ファイル名 を s0240**-5-21.rb としてメールに添付して提出すること.スクリ プトの動作は,次に示すようにコマンドライン引数に上記のmn の二つの数値を与えるようにする.すなわち、

$ ruby s0240**-5-21.rb 10 5

のように数値を二つ与えて実行する.また,出力は次のようになるように printf 文を用いることとする.変数名の付け方は従来のものによる.


解答例


m = ARGV[0].to_i
n = ARGV[1].to_i
fact1 = fact2 = 1

for i in 1..m
  fact1 *= m + n  - i + 1
  fact2 *= i
end

for i in 1..n
  fact1 *= n - i + 1
  fact2 *= i
end

printf "The ways putting balls amount to %d.\n", fact1 / fact2


Back