過去問解きまくり研究所 ホーム

平成30年度 秋期 午前 問7

基礎理論

配列に関する問題

2 次元配列 A[i, j](i, j はいずれも 0 〜 99 の値をとる)の i > j である要素 A[i,j] は全部で幾つか。

答えと解説を見る

✓ これが正解イ4,950

解説

対角線を除いた半分なので4,950個です。

二次元配列のうち、一つ目の添字が二つ目の添字より大きい要素がいくつあるかを数える問いです。数え上げは、全体をいくつかに割ってから引いていくと速くなります。まず全体は、一つ目の添字が100通り、二つ目も100通りですから、掛けて10,000個です。次に二つの添字が等しい要素を数えると、先頭から末尾まで一つずつで100個です。残った9,900個が二つの添字の異なる要素で、ここが要点になります。二つの添字を入れ替えれば、一つ目が大きい要素と二つ目が大きい要素はちょうど一対一に対応しますから、9,900個はぴったり半分ずつに分かれます。割って4,950個です。別の道でも同じ数が出ます。一つ目の添字が1のとき相手は1通り、2のとき2通りと増えていって、99のとき99通りですから、1から99までの総和になります。99に100を掛けて2で割ると4,950です。二通りの組合せの数え方が一致しました。見分けの軸は、等号を含むかどうかです。含めるかどうかで、対角線にあたる100個ぶんがそのまま差になります。添字が0から始まることも押さえておくと、途中式を書き下すときにずれません。この形は、正方形に並んだ要素のうち対角線より下だけを取り出したものにあたります。

ほかの選択肢はなぜ違うのか

出典:平成30年度 秋期 応用情報技術者試験 午前 問7

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)