Система Диофанта — страница 5 из 12

= Да, не хочу в капитаны. Это же какие надо нервы.

= Пойду перечитаю Остера, может и там есть что-то квадратное. и спокойное


— Почитать - дело нужное. Прочитай наконец «Жар холодных числ и пафос бесстрастной логики», "Я хочу в школу" Жвалевского и «Волшебный двурог» Боброва.

= Домашнее задание растет.

— Ладно, давай прощаться, а то и правда вспомню еще что-либо.

— Вспомнил! Арнольд!

Я уже говорил, что академикам противопоказано писать учебники, им невместно написать что-то живое — хихикающее. Но по крайней мере одно исключение есть - Владимир Игоревич Арнольд, очень интересный человек. К сожалению его книги на флибусте только в pdf и djvu, но где-то у меня есть недоделанная книга в fb2 найду, доделаю, выложу.


= «Айнун цваних фирун захцих» или как говорит наш дорогой шеф «Он слишком много читал».


* * *


день четвертый - ничего не произошло.


* * *


День 5



Каким же я был неуклюжим неучем. В чем-то с наставником мне повезло..... Те знания, что он сейчас мне давал - лишь малая часть его опыта. Взять, к примеру, тот же захват. Я выпускал свое щупальце к жертве, арканя ее. Все делал интуитивно. Оказалось, что есть много разных способов сделать захват более эффективным. Где-то накинуть петлю, где-то нарастить крючки, где-то вгонять крюк в надрез в энергетической оболочке жертвы.

«Иркат - повелитель страхов» Капитонов Н А


= Привет! Показал я твой «шторм» соседу. Он сказал, что это смертельно опасная задача.

— Да?

= Моряк или умрет со смеху или убьет составителя.

— Надо же! Оказывается это рискованное занятие. Ты был прав, ругать других действительно легче, чем делать самому.

А я никак не оставлю тему квадратных уравнений, и вроде все сказано, поставлена точка, но появляются новые идеи......

— Для разминки приведу забавное доказательство теоремы Виетта.

Напишем базовую формулу: x2 — bx + c = 0 мы знаем что b — это сумма, а с ...

= Уже сто раз говорил...

— Не злись. Давай развернем эту запись. Я не хочу для обозначения корней писать x1, x2, а то от х в глазах рябить будет. Давай использовать i и j.

x2 - (i+j)*x + i*j = 0

преобразуем

x2 - ix - jx + ij = 0

= Ну, и чего получилось?

— Фокус, покус! Ведь i и j это корни уравнения. Подставь-ка вместо x - i или j.

= Да. Действительно забавно, простейшей алгеброй все доказано.

— Обрати внимание, нигде не сказано, что j и i — целые, это могут быть любые числа и не только числа.

— Но давай пойдем дальше. Есть разные способы решения КУ, в том числе графические.

= Да, читал я. Не точно, не всегда достижимо, только, что наглядно.

— Вот наглядность мне сейчас и нужна, да и еще кое что. Рассмотрим только один способ.



Как видишь, строится парабола и места пересечения с осью абсцисс (y = 0) и будут корнями. Чтобы построить параболу ax2 — bx + c = 0, для начала нужно знать координаты вершины



= Что-то подозрительно знакома мордочка у y0.


— Дело упрощается тем, что в нашем случае a = 1.

— Смотри, у нас есть координата x0 вершины параболы, она простейша [ -b/2 ] корни КУ находятся на одинаковом расстоянии от этого числа. Вообще x0 очень хитрое число, ЛЮБЫЕ два числа отстоящие от него на одинаковые расстояния, дают в сумме b.

Остается только подобрать два симметричных относительно x0 числа дающих в произведении c.

= Т.е. это другой способ, и про первый можно забыть.

— Забывать ничего не будем! Первый метод «соМножителей» если так сойдутся звезды позволит там «молниеносно» решить КУ, второй «Слагаемых» гарантирует успех, но немного медленнее.

— Не забывай о коварстве составителей. Если y0 окажется положительной, то парабола не пересечет ось абсцисс, т.е корней не будет...

= То-то я вижу, что-то знакомое — дискриминант.

— Не совсем, но родственник дискриминанта пусть это будет Д ( Д = — дискриминант ).

Давай спланируем алгоритм действий.


1. оцениваем знак выражения 4c — b2, ежели минус идем далее (этот пункт можно удалить, если мы решаем подготовленные Питоном КУ).

2. оцениваем знаки корней по известной нам таблице.

3. если удается, находим корни в соМножителях

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

= Как интересно. Прямо триллер.

— Естественно. Математика чрезвычайно эмоциональное занятие.