Выбрать главу

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. Нет, никакой бумаги, все в уме. И далее... волшебное превращение квадрата суммы в квадрат разности; затем в простую разность, знакопеременно сражающуюся с суммой и после упрощения останется последний герой.