
基本情報技術者試験基礎・応用
条件を読む・根拠を説明する
累積和から区間和
条件を整理し、答えを選んでから解き方を確認しましょう。
P[k]を先頭k個の合計、P[0]=0と定義。添字1始まりの配列の第3〜第6要素の和はどれか。
答え・解き方を読む
P[6]−P[2]
図で見る
連続区間の両端を動かす
右端を延ばすと新しい要素を加え、左端を進めると外れた要素を引きます。累積和なら区間末尾までの和から区間直前までを引きます。図の要素数と端位置は操作の例です。
図は問題の関係を整理する模式図です。記号には各問題の数値を当てはめます。寸法・面積・時間の縮尺や、実施工の全条件は表していません。
考える順序
- 1P[6]は第1〜6要素の合計
- 2除きたいのは第1〜2要素
- 3P[2]を引けば第3〜6が残る
選択肢ごとの理由
- 比較 · P[6]−P[3]
P[3]を引くと第3要素まで除いてしまいます。
- 比較 · P[5]−P[2]
P[5]では第6要素が含まれません。
- 比較 · P[6]+P[2]
前の区間を加えると重複します。
- 正解 · P[6]−P[2]
P[6]は第1〜6要素の合計。除きたいのは第1〜2要素。P[2]を引けば第3〜6が残る。