0≦x≦1の範囲で単調に増加する連続関数f(x)がf(0)<0≦f(1)を満たすときに、区間内でf(x)=0であるxの値を近似的に求めるアルゴリズムにおいて、(2)は何回実行されるか。 〔アルゴリズム〕 (1) x0←0, x1←1とする。 (2) x←(x0+x1)/2とする。 (3) x1−x<0.001ならばxの値を近似値として終了する。 (4) f(x)≧0ならばx1←xとして、そうでなければx0←xとする。 (5) (2)に戻る。

二分法は1回で区間が半分、精度εには約log2(1/ε)回

応用情報技術者試験2016年度 秋期 午前2/アルゴリズムとプログラミング / アルゴリズム

選択肢

正解と解説

正解: 10

これは二分法(区間二分法)で、1回処理するごとに解の存在する区間が半分になります。初期区間の幅は1で、(2)をk回実行した時点での x1−x は 2 の −k 乗になります。終了条件 2 の −k 乗 < 0.001 を満たす最小の k は、2 の −10 乗 ≒ 0.000977 より k=10 です。よって(2)は10回実行されます。

選択肢ごとの解説

出典:平成28年度 秋期 応用情報技術者試験 午前 問2(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。