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) に戻る。

テクノロジ系

ア 10
イ 20

なぜ違う: 区間幅の半減回数を 2 倍に取り違えた値。

ウ 100

なぜ違う: 対数ではなく線形に見積もった誤り。

エ 1,000

なぜ違う: 1/0.001 をそのまま回数とした誤り。

正解: ア

要点: 二分法。x₁−x=区間幅/2。1/2ⁿ<0.001 となる最小 n は10。

これは二分法。各回で x₁−x は区間幅の半分になり、毎回区間幅は半減する。n 回目で x₁−x=1/2ⁿ。1/2ⁿ<0.001 すなわち 2ⁿ>1000 を満たす最小の n は 2¹⁰=1024 より n=10。よって (2) は 10 回実行される。

関連キーワード: 二分法・数値計算・アルゴリズム・計算

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

応用情報技術者の学習アプリ(応用情報トレ)

出典:令和7年度 春期 応用情報技術者試験 午前 問2