3.
Бинарный поиск. Рекурсия_Проверка условия
Рассмотрим задачу:
Найти корень уравнения \(x^2 + \sqrt x = C\). Это монотонно возрастающая функция, определенная для неотрицательных значений
Как определить, что для заданного значения аргумента значение функции больше/меньше/равно заданному значению C?
Простым вычислением это не всегда будет верно, Так . Например
| Пример 1 (квадрат принят за квадрат, причем меньший) |
Пример 2 (не квадрат принят за квадрат, причем больший по значению) |
x = 9007199255000001
y = x * x
print(y**0.5)
выведет значение 9007199255000000.0 |
x = 123456789
y = x * x - 1
print(y**0.5)
выведет значение 123456789 |
Это связано с ограниченной точность вычислений в вещественных чисел
Часто проверку можно провести в целых числах (актуально для реализации на Python) или без использования фyкций специальных библиотек
Реализуйте функцию
check для проверки для проверки значений
\(x^2 + \sqrt x = C\)
i
nt check (double X, double C);
- X - значения аргумента
- C - значение для сравнения
функция возвращает 1, если
\(X^2 + \sqrt X\) не меньше C, и любое другое целое значение в противном случае
Пояснения:
- Вам надо дописать только недостающую часть кода
- Использование математических функция запрещено
Запрещенные операторы: math
Вставьте недостающие фрагменты кода
C++