Почему m = l+((r - l) / 2) вместо m = (l+r) / 2 Избегайте переполнения в C ++?C++

Программы на C++. Форум разработчиков
Anonymous
Почему m = l+((r - l) / 2) вместо m = (l+r) / 2 Избегайте переполнения в C ++?

Сообщение Anonymous »

Здравствуйте, я смотрел на решение C ++ к вопросу «Предположим, что отсортированный массив вращается в некотором смысле, неизвестно вам заранее. (т.е. 0 1 2 4 5 6 7 может стать 4 5 6 7 0 1 2). Как вы найдете элемент в повернутой массиве?int rotated_binary_search(int A[], int N, int key) {
int L = 0;
int R = N - 1;

while (L

Подробнее здесь: https://stackoverflow.com/questions/251 ... rflow-in-c

Вернуться в «C++»