問2令和7年度 春期テクノロジ系
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
- ウ100
- エ1,000
正解はア
解説 本サイト独自(IPA公表のものではありません)
ア このアルゴリズムは,符号が異なる両端の中点を調べ,解を含む探索区間を実行のたびに半分にする。判定に使うx₁-xも段階ごとに半分となり,10回目に初めて0.001未満になる。
- イ 探索幅は毎回半分になるので,20回を待つ前に終了条件を満たす。したがって,必要な実行回数を過大に数えている。
- ウ 100回という回数は,探索区間が半分ずつ狭まる性質を反映していない。終了判定は10回目で既に成立する。
- エ 1,000は終了条件に現れる小数の細かさを,そのまま反復回数とみなした値である。反復回数は半減の回数で決まる。
この解説は間違っています
この解説は,別のモデルによるレビューを受けています。
出典:令和7年度 春期 応用情報技術者試験 午前 問2