Функция рекурсивно находит и возвращает наименьший элемент из массива, который имеет целочисленные элементыДоказательство правильности программы
Min(A, b, e)
if (b=e)
return A[b]
m = (b+e)/2 // floor is taken
x = Min(A, b, m)
y = Min(A, m +1, e)
If(x < y)
return x
else
return y
Моя предпосылка: б и е представляют собой целые числа больше нуля
Мой пост условие: возвращает целое число х или у (не уверен, что об этом)
Так как я могу доказать, что это правильно, показав, что до и после условия индуктивные
Извините за формат, новый на этом.
Вы _have_, чтобы закодировать свою задачу так, как вы это делали? Подход divide & conquer не имеет особого смысла, поскольку вы должны каждый раз проверять каждый элемент массива, поэтому может быть применена гораздо более простая схема рекурсии хвоста (например, 'def fun MyMin (A, idxcur) = return (idxcur == 0)? A [idxcur]: min (MyMin (A, idxcur-1), AA [idxcur]); ') – collapsar