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

Back


宿題においても, 解答用紙 を使用する.この書式で解答を提出すること.

設問

任意の整数の乱数を5つ発生させ,それらを要素とする配列を作成する.次に, その配列の各要素を二つずつ取り出して並べて表示する作業を以下の例のように, 重複なしで(同じ組合せは一度だけとする)行う.このような動作をするスクリ プトを作成せよ.

[54, 10, 45, 17, 48]
(54,10) (54,45) (54,17) (54,48) (10,45) (10,17) (10,48) (45,17) (45,48) (17,48)

発生させる乱数はなるべく同じものが含まれないように,それなりに広い範囲と しておくこと.


解答例

ary = []

for i in 0..4
  ary[i] = rand(100) + 1
end

p ary

for i in 0..3
  for j in i+1..4
    printf "(%d,%d) ", ary[i], ary[j]
  end
end

printf "\n"


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


宿題においても, 解答用紙 を使用する.この書式で解答を提出すること.

設問

任意の整数の乱数を6つ発生させ,それらを要素とする配列を作成する.次に, その配列の各要素を二つずつ取り出して並べて表示する作業を以下の例のように, 重複なしで(同じ組合せは一度だけとする)行う.このような動作をするスクリ プトを作成せよ.

[85, 82, 67, 30, 65, 47]
(85,82) (85,67) (85,30) (85,65) (85,47) (82,67) (82,30) (82,65) (82,47) (67,30) (67,65) (67,47) (30,65) (30,47) (65,47)

発生させる乱数はなるべく同じものが含まれないように,それなりに広い範囲と しておくこと.


解答例

ary = []

for i in 0..5
  ary[i] = rand(100) + 1
end

p ary

for i in 0..4
  for j in i+1..5
    printf "(%d,%d) ", ary[i], ary[j]
  end
end

printf "\n"


Back