基本情報トップに戻る
A難易度: 標準2026年度

基本情報技術者 予想問題A 第18問

問題

次のアルゴリズムで、動的計画法を使う問題として最も適切なものはどれか。

選択肢

  1. 1ア 配列の先頭から順に値を表示する
  2. 2イ 与えられた整数が素数か判定する
  3. 3ウ フィボナッチ数列のn番目を効率的に計算する
  4. 4エ 配列の要素をすべて2倍にする

正解

3. ウ フィボナッチ数列のn番目を効率的に計算する

詳しい解説を見る

解説

正解はウ。動的計画法(DP)は、問題を部分問題に分割し、部分問題の計算結果を表などに保存して再利用することで、同じ計算の繰り返しを避ける手法である。フィボナッチ数列F(n)=F(n−1)+F(n−2)を単純な再帰で計算すると、同じF(k)が何度も再計算され計算量が指数的(O(2^n)程度)に膨らむが、求めた値を保存しながら順に積み上げればO(n)で計算できる。これはDPの典型例である。アの順次表示やエの全要素の2倍は単純な反復処理、イの素数判定は割り切れるかを試すだけの処理であり、部分問題の重複がないためDPの利点が生きない。基本情報では「部分問題の結果を記録して再利用する」というDPのキーワードと、メモ化再帰との関係が頻出である。

一問一答

科目A 180問+科目B 60問

Aの関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。