7.
Бинарный поиск._ Практика-1.1
Пояснение к решению
1. Найдите лучшие приближения "слева" (значение выражения < 0) и "справа" (значения выражения \(\geq 0\))
2. Сравните абсолютные значения этих выражений. Без использования операций **, pow, sqrt это можно сделать так
пусть Xl, Yl - решение "слева", а Xr, Yr - решение справа. Тогда
\(|\sqrt a\cdot X_l + \sqrt b\cdot Y_l| \leq |\sqrt a\cdot X_r + \sqrt b\cdot Y_r| <=> \\ a\cdot (X_l^2 - X_r^2) + b\cdot( Y_l^2 - Y_r^2) \leq 2\sqrt {a\cdot b}(X_r\cdot Y_r- X_l\cdot Y_l) \)
вычислив \(|z_1 =a\cdot (X_l^2 - X_r^2) + b\cdot( Y_l^2 - Y_r^2);\ z_2 =(X_r\cdot Y_r- X_l\cdot Y_l) \)
и сравнив знаки z1 ,z2 можно определить какое из значений лучше
Для уравнения
\(\sqrt a\cdot x + \sqrt b \cdot y = 0\ (a, b -\ различные\ натуральные\ числа)\)
найдите "приблеженное решение", удовлетворящее следующим условиям:
- x, y - целые числа и x < y
- |x| + |y| < K (K - натуральное число, значение которого заданы заранее)
- \(|\sqrt a\cdot x + \sqrt b \cdot y|\) имеет минимальное значение среди всех x, y удовлетворяющих пунктам 1, 2
Входные данные :
Значения a, b, K (a, b < 10
20, 1 < K < 10
12)
Выходные данные:
Два целых числа - значения x, y
Не рекомендуется использовать вещественные числа и математические функции (возведение в степень, извлечение корня)
Запрещенные операторы: math; **; pow; sqr
Примеры
| № | Входные данные | Выходные данные |
|
1
|
2 3 100
|
-49 40
|
|
2
|
4 9 1000
|
-3 2
|
|
3
|
12345 98760 1000000
|
-665857 235416
|
Напишите программу
Auto