入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。指定された値が含まれていればその要素番号を返し,含まれていなければ-1を返す。昇順に整列されており,値に重複はない。場合は,無限ループになる。昇順で整列されたデータ群から目的のデータを探し、その要素番号を返すプログラムです。本問のプログラムは、2分探索法の実装となります。2分探索法は、要素が昇順または降順に整列された集合に対して、探索範囲を2分の1に狭めることを繰り返して目的のデータを探索するアルゴリズムであり、以下の目的のデータを探します。探索範囲の中央に位置する値と目的値を比較する目的値の方が小さければ中央から探索範囲の最後までを、目的値の方が大きければ探索範囲の最初から中央まで探索範囲から除外する(探索範囲を2分の1にする)。目的値を見つけるまで、1と2を繰り返す解答群それぞれのケースを検討してみると以下のようになります。状態でwhile文が開始されます。目的のデータ(target)と等しいので、その要素番号1を返して終了します。1が代入されるので永久ループとなります。状態でwhile文が開始されます。目的のデータ(target)と等しいので、その要素番号1を返して終了します。状態でwhile文が開始されます。状態で繰り返すことになり、同じ処理が行われます。このように永久ループとなります。要素に-1が含まれているという理由で永久ループになることはありません。※本来の2分探索では一致しなかった中央の要素を探索範囲から外しますが、本問のプログラムでは、中央要素を含めて新しい探索範囲としてしまっているので正しく動作しません。fe-siken.com▲Pagetop。