На вход подается натуральное число затем
натуральных чисел в порядке неубывания. Определите, на каком месте впервые встречается число
. В качестве ответа укажите индекс данного числа в массиве, индексация начинается с
.
def binary_search_recursive(arr, elem, start=0, end=None):
if end is None:
end = len(arr) - 1
if start > end:
return False
mid = (start + end) // 2
if elem <= arr[mid]:
return binary_search_recursive(arr, elem, start, mid-1)
if elem == arr[mid + 1]:
return mid + 1
return binary_search_recursive(arr, elem, mid+1, end)
f = open(’test.txt’)
n = int(f.readline())
a = [int(f.readline()) for i in range(n)]
print(binary_search_recursive(a, 34))
Ответ: 25