Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- В этой задаче загадано число от 1 до 1000000, нужно написать программу, которая его угадывает. Будем идти бинарным поиском -- сначала спросим среднее число (500000), если загаданное больше, то будем спрашивать среднее между 500000 и 1000000, если меньше, то среднее между 1 и 500000. И так далее, пока "диапазон угадывания" не сведется к длине 1.
- Пример кода на python:
- l = 0
- r = 1000000
- while r - l > 1:
- m = (r + l) // 2
- print(m, flush=True) #добавляем flush, для того чтобы корректно работало взаимодействие с проверяющей системой
- answ = input() #вердикт проверяющей системы, "<" или ">="
- if answ == "<":
- r = m #ответ меньше или равен чем наше предположение m, значит дальше будем искать левее него
- else:
- l = m
- print('!', r, flush=True) #выводим r, так как именно в r мы складывали больше либо равные
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement