メインコンテンツへスキップ
高度試験共通令和7年度 春期午前I問 1

令和7年度 春期 高度試験共通 午前I 問1

難度標準

0≦x≦1の範囲で単調に増加する連続関数 f(x) が f(0) < 0 ≦ f(1) を満たすときに、区間内で f(x) = 0 である x の値を近似的に求めるアルゴリズムにおいて、(2)は何回実行されるか。

〔アルゴリズム〕

(1) x₀ ← 0、x₁ ← 1 とする。

(2) x ← (x₀ + x₁) / 2 とする。

(3) x₁ − x < 0.001 ならば x の値を近似値として終了する。

(4) f(x) ≧ 0 ならば x₁ ← x として、そうでなければ x₀ ← x とする。

(5) (2)に戻る。

選択肢

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

二分法では、(2)で区間の中点 x = (x₀ + x₁) / 2 を求めます。

詳細Layer 2
展開

(2)をk回実行した直後の x₁ − x は 1 / 2^k です。9回目は1/512 ≒ 0.001953で終了条件を満たさず、10回目は1/1024 ≒ 0.000977 < 0.001となります。したがって実行回数は10回(ア)です。

各選択肢の解説

ア

10

正しいです。(2)をk回実行した直後のx₁−xは1/2^kです。9回目は1/512≒0.00195で0.001以上なので(3)で終了せず、(4)で区間を半分にして続けます。10回目は1/1024≒0.000977<0.001となり、ここで終了します。したがって(2)の実行は10回です。

イ

20

誤りです。(2)を20回実行するとx₁−xは1/2^20≒0.00000095になり、要求される0.001よりはるかに小さくなります。実際には10回目の1/1024≒0.000977で(3)の条件x₁−x<0.001が成り立ち、その時点で終了するので、20回目の(2)まで進むことはありません。

ウ

100

誤りです。このアルゴリズムは、(2)で区間の中点を取り、(4)で区間を毎回半分にする二分法です。(2)をk回実行した直後のx₁−xは1/2^kになり、2^10=1024>1000なので10回目で0.001を下回って(3)で終了します。100回まで(2)が実行されることはありません。

エ

1,000

誤りです。1,000回は、0.001刻みで0から1まで1点ずつ調べた場合の回数です。二分法では1回ごとに区間幅が1/2になるので、必要な回数は1/2^k<0.001を満たす最小のkです。2^10=1024>1000なので10回で終わり、1,000回にはなりません。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

分野「基礎理論」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
2進数・論理演算・確率・統計など、IT全般の土台となる数学・離散構造の理解度。
学習の進め方
公式の暗記ではなく、ビット表現や真理値表を「手で書ける」状態を作る。例題を3パターン以上手で解いて感覚化する。
関連キーワード
2進数論理演算シフト演算誤差確率情報量
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

基礎理論 の他の問題

他年度の「基礎理論」問題

高度試験共通 の同じ分野を年度をまたいで演習する

高度試験共通 の学習ガイド