二分探索のプログラムの出力結果が正しく出されないので間違いを指摘して頂きたい
解決したいこと
二分探索を行うプログラムをPythonで書きました。
しかし、エラーは無いものの、すべてのテストコードで探索失敗と表記されてしまいます。皆さんのお力添えで正しくprintされるように直すべき箇所を指摘して頂きたいです。宜しくお願い致します。
発生している問題・エラー
エラーメッセージはありません。
該当するソースコード
A = [2, 4, 6, 8, 10, 12, 14]
X = 6 /*探索値*/
L = 1 /*探索範囲の始点*/
H = 7 /*探索範囲の中間*/
M = (L + H) // 2 /*探索範囲の終点*/
while (L <= H) and (A[M - 1] != X):
if A[M - 1] <= X: /*中間に位置する値との比較*/
L = M + 1 /*次の探索を右方向へ*/
else:
H = M + 1 /*次の探索を左方向へ*/
break
M = (L + H) // 2
if L >= H:
print("探索成功")
else:
print("探索失敗")
自分で試したこと
listのindex範囲を変えてみました。
0