== Псевдокод ==
double find_left<pre>findLeft(double c) { double x = -1; while (f(x) > c) { x = x *= 2; } return x; }</pre><pre> double find_rightfindRight(double c) { double x = 1; while (f(x) < c) { x = x *= 2; } return x; }</pre><pre> double bin_searchbinSearch(double c) { double left = find_leftfindLeft(с); double right = find_rightfindRight(с); while (left < right - eps) { //Здесь можно поставить использовать другое условие выхода double m mid = (left + right) / 2; if (f(mmid) < c) l = mmid; else r = mmid; } return l; }</pre>
== Источники ==
* [http://www.intuit.ru/department/algorithms/basicalgos/2/ Интернет университет, лекция сортировка и поиск]