binary search_01
バイナリナビゲーション
コンピュータは、中間値50=(min+max)/2からバイナリナビゲーションを使用してブラウズを開始します.
逆に、検索する最終値が検索した値より大きいか小さいかの情報は、通知の条件で行われます.
1を最終値として実行すると、
数字1~100:1
COM : 50
hint (u,d) : d
COM : 25
hint (u,d) : d
COM : 13
hint (u,d) : d
COM : 7
hint (u,d) : d
COM : 4
hint (u,d) : d
COM : 2
hint (u,d) : d
COM : 1
正解!
前のプローブ値は、プローブ範囲を縮小するために最大値に割り当てられ続けます.
# binary search 로 만드는 up, down 게임
def game(num):
min = 1
max = 100
while True:
c = int((min + max) / 2)
print(c)
if c == num:
break
hint = input('u,d : ')
if (hint == 'u' and num < c) or (hint == 'd' and num > c):
print('힌트가 틀린 응답입니다.')
continue
elif hint == 'u':
min = c
elif hint == 'd':
max = c
else:
print('틀린응답입니다')
return '정답!'
man = int(input('숫자 1~100 : '))
result = game(man)
print(result)코드를 입력하세요
1~100の間に任意の数字を入力するゲームコンピュータは、中間値50=(min+max)/2からバイナリナビゲーションを使用してブラウズを開始します.
逆に、検索する最終値が検索した値より大きいか小さいかの情報は、通知の条件で行われます.
1を最終値として実行すると、
数字1~100:1
COM : 50
hint (u,d) : d
COM : 25
hint (u,d) : d
COM : 13
hint (u,d) : d
COM : 7
hint (u,d) : d
COM : 4
hint (u,d) : d
COM : 2
hint (u,d) : d
COM : 1
正解!
前のプローブ値は、プローブ範囲を縮小するために最大値に割り当てられ続けます.
Reference
この問題について(binary search_01), 我々は、より多くの情報をここで見つけました https://velog.io/@codebot123/binary-search01テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol