4. ну а если дошли до этого пункта, делаем глубокомысленный вид (тренируем актерское мастерство) и начинаем перебор.
= Например?
— Хорошо, поехали:
x2 - 22x - 75 = 0
1. [- 75] — ясно что Д отрицателен
2. [ - - ] - один корень отрицателен, но положительный больше
3. [ 75 ] допустим нам лень искать делители, но пятерка там точно есть.
4. [x0 = 11] обозначим смещение корней относительно точки x0 как z. Допустим отрицательный корень [ -5 ] тогда z = 16 и следовательно x2 = 11 + 16 = 27
= Все отлично!
— Погоди, что-то тут не так, 27 * 5 = 135, не сходится. Т.е. [-5] слишком далеко ушло в минус. Давай попробуем предыдущее простое число [-3] тогда z = 14 и следовательно x2 = 11 + 14 = 25 и 25 * 3 = 75. Вот теперь — все отлично.
= А можно было сделать проще, без всяких z. Когда предположен один корень второй просто вычисляется x2 = b — x1 т.е. 22 - (-3) = 25.
— Ты мыслишь, значит ты существуешь!!!
— Повторю свое заклинание «только постоянные экзерсисы приведут тебя к успеху».
= Я только не совсем понял для чего нам x0.
— Ну скажем, это якорь на который мы ориентируемся при поиске корня. Для поиска можно воспользоваться двоичным поиском.
= А это что такое?
— Лучше показать это на примере.
Я задумываю число больше 0 и меньше 100 (ну вот записываю «задумано 43» ). Ты говоришь предположение, в ответ я могу дать 3 возможных ответа «задуманное больше», «задуманное меньше» и «Поздравляю».
= 99?
— Задуманное меньше.
= 98?
— Задуманное меньше. Но прервем игру. Выбранная тобой стратегия не рациональна. Если задумано 1, то тебе придется задать 99 вопросов.
= Так, что надеясь на удачу выбирать случайное число.
— Не будем вручать удачу случаю. Действуй так в качестве запроса выбирай середину исследуемого диапазона и при каждой итерации этот диапазон будет в два раза уменьшаться. Попробуем сначала?
= 1. Не совсем понял, но 50.
— Задуманное меньше.
= 2. 25?
— Задуманное больше.
= 3. Догадался, остался диапазон от 49 до 26. Тогда 38?
— Задуманное больше.
= 4. 44?
— Задуманное меньше.
= 5. 41?
— Задуманное больше. Надеюсь ты все понял, и следующим вопросом выиграешь.
= "Ацнун цванцих.." [Главное, системный подход] - подумал принц целуя тысяча двадцать третью лягушку.
— Завтра организуй в классе соревнование по скорости угадывания. Не гарантирую 100% выигрыш, но в большинстве случаев — сработает.
— Но вернемся к тренировке:
x2 — 1,6x + 0,63 = 0
1. [4* 0,63 — 1,62 = -0,04] — Д отрицателен
2. [ - + ] - оба корня положительны
3. [ 0,63 ] делители искать не будем.
4. [x0 = 0,8] меньший корень лежит в диапазоне от 0 до 0,8
. . . . 1. x1 = 0,4 x2 = 1,6 — 0,4 = 1,2 0,4*1,2=0,48
да, тяжелый случай; 0,48 < 0,63 и это значит, что корни взяты слишком далеко от x0
. . . . 2. x1 = 0,6 x2 = 1,6 — 0,6 = 1 0,6*1=0,6
0,6 < 0,63 обнадеживает, что мы идем правильным путем.
. . . . 3. x1 = 0,7 x2 = 1,6 — 0,7 = 0,9 0,9*0,7=0,63
Дело сделано! В уме такое решить затруднительно, но тренируйся.
— Так дело не пойдет. Не готовы мы еще решать ЛЮБЫЕ задачи, а значит опять подготовим НАШИ КУ
изменяем функцию генерации числа
4 | def gen_number(k):
5 | . . prime_number =(1, 2, 3, 5, 7, 11, 13, 17)
6 | . . sign_number =(0, 1, 2, 3)
7 | . . nu = prime_number[random.randint(0, k)]
8 | . . sign = random.choice(sign_number)
9 | . . if sign == 0:
10 | . . . . nu = nu * -1
11 | . . nu = nu + 0.1 * random.randint(0, 9)
12 | . . return nu
опять распечатываем полученные файлы и поражаем одноклассников (после солидной тренировки)
= Попробуем?
— x2 - 6.3x + 9.9 = 0
1. т.к. формула сгенерирована из подготовленных чисел решение гарантированно есть.
2. [ - + ] - оба корня положительны
3. т.к. КУ сделано с дробями то делители искать не будем.
4. [x0 = 3,15] меньший корень лежит в диапазоне от 0 до 3,15
. . . . 1. x1 = 1,3 x2 = 6,3 — 1,3 = 5 5*1,3=6,5
Маловато будет... И так далее. Но я то знаю ответ x1 = 3 x2 = 3,3
x2 - 10.09x - 112.493 = 0
x2 - 15.14x + 57.232 = 0
x2 - 22.78x + 92.644 = 0
x2 + 4.49x - 87.986 = 0
x2 + 15.36x + 36.704 = 0
x2 - 6.4x + 5.4 = 0 слабо, увидеть корни без решения
. . . . .
= Хе, хе, хе. Зря ты не хочешь посмотреть формулу корней квадратного уравнения
= Смотри: x1,2 = -b/2 ± z ничего не напоминает?
/ странно было бы если бы не напоминало /
— О! Давай развлечемся! Так, "a" как и положено будет равно 1. Подставляй в нужном виде i и j. Нет, никакой бумаги, все в уме. И далее... волшебное превращение квадрата суммы в квадрат разности; затем в простую разность, знакопеременно сражающуюся с суммой и после упрощения останется последний герой.