Читаем Система Диофанта онлайн бесплатно
Система Диофанта
Если вы хотите поразить одноклассников молниеносным решением квадратных уравнений [КУ], давайте развлечемся.
Детская образовательная литература / Математика / Самиздат, сетевая литератураНаписано для Артёма.
Посвящается фанфикам по Поттеру.
Я, может, только жить начинаю: на пенсию перехожу.
= Точно — это про тебя.
— Математику, я люблю со школы, читал множество книг, а сейчас вот задумался, из всего чем нас мучили, в жизни пригодилась только элементарная арифметика[1].
Но может я просто не замечал, что некие практические задачи можно было бы решить дифференцированием, интегрированием, поиском экстремумов и подобным.
= Знаешь анекдот: Дети решите задачу «У Маши 4 груши...» «Но, Марья Ивановна мы проходили только про яблоки».
— Да, да я именно об этом. Для примера я взял квадратные уравнения [КУ], уж сколько нас ими жучили, сколько перерешали примеров, а за всю рабочую практику, ни разу не понадобилось... решил поискать в интернете, нечто подобное: «практическое применение квадратного уравнения»
= Представляю, чего ты там только не нашел. Потом проверю.
— Да, нашел много, но в одной из первых была ссылка на задачу сформулированную еще в древней Греции.
Стало интересно, неужели я, такой крутой, не решу древнюю задачу.
Приведу это, совсем простое, решение подробно, по шагам, дабы ты смог его проверить.
1. Дана система:
x + y = 20
xy = 96
(фигурную скобочку системы на тексте не изобразить, да ты меня простишь)
2. из второй строки системы находим у
y = 96 / x
3. подставляем найденный у в первую строку
x + 96/x = 20
4. умножаем все на х
x2 + 96 = 20x
5. переносим правую часть и приводим к общепринятому виду (это называется приведенное квадратное уравнение)
x2 — 20x + 96 = 0
Вот тут я притормозил. Да, видимо жучили нас мало, за полвека формулу я забыл, если бы мне ее показали я узнал бы ее слету, вот, что значит нет постоянной практики.
= Так в чем проблема, посмотри в Интернете.
— Нет, легкие пути не для нас.
Тут я посмотрел на вторую строку системы
xy = 96
из этого следует, что в 96, в качестве сомножителей содержатся оба корня!!!
т.е. если, это самое, 96 разложить на простые сомножители (а это задача 6 класса) и из их комбинации выбрать дающие в сумме 20, то вот оно - дерево и мужик в пиджаке!!!
— Делаем, давай я изложу опять до идиотизма просто:
96 — четное — делим на два в результате 48
48 — четное — делим на два в результате 24
24 — четное — делим на два в результате 12
12 — четное — делим на два в результате 6
6 — четное — делим на два в результате 3
в итоге:
96 = 2 • 2 • 2 • 2 • 2 • 3
= Спасибо за идиота, но бухти дальше.
— Предположим что первый корень = 2 тогда второй 48
= Не подходит, в сумме не 20, а 50
— Хорошо, тогда первый корень 2 • 2 = 4, а второй 2 • 2 • 2 • 3 = 24
= Опять не пойдет, в сумме 28.
— Попытка номер... первый корень 2 • 2 • 2 = 8, а второй, что осталось: 2 • 2 • 3 = 12
= Ну, надо же, угадал!
— Не угадал, а вычислил.
= Погоди, я проверю.
— Я уже все проверил. Вся сходится.
В том числе проверил и по стандартной формуле нахождения корней квадратного уравнения, забавно, что при этой проверке я ошибся, запутался в арифметике.
= Не забавно, а показательно.
— Возможно. Так я наслаждался победой целый день, а на следующий — до меня дошло!!!
= Что дошло, к чему восклицания?
— Просмотри, выше изложенное, ничего не замечаешь?
= Пока ничего.
— Хорошо, изложу доступнее:
система:
x + y = S
xy = M
тождественна:
x2 — Sx + M = 0
= Ну, и что. Согласен, я тебе верю.
— В математике, верить нельзя. Надо проверять доказательства.
= Ладно, доказал, но к чему ты ведешь?
— Посмотри же! Любое приведенное квадратное уравнение легким движением можно превратить в систему, а точнее коэффициент S является суммой корней (с минусом), и коэффициент M их произведением.
Отсюда следует, что 90% «школьных» приведенных КУ можно легко решить в уме.
КУ
Попробуем?
= Давай.
— Напомню последовательность действий:
1. разложение коэффициента M на простые сомножители
Простых чисел до 100 не так уж много:
2 | 3 | 5 | 7 | 11 | 13 | 17 |
19 | 23 | 29 | 31 | 37 | 41 | 43 |
47 | 53 | 59 | 61 | 67 | 71 | 73 |
79 | 83 | 89 | 97 |
2. выбор полученных корней в сумме дающих S
= Все понятно, поехали.
— Для x2 — 7x + 10 = 0 корни будут 2 и 5.
= Да, я вижу, (x2 — [2+5]x + [2 • 5] = 0) проверим:
2 • 2 — 7 • 2 + 10 = 4 — 14 + 10 = 0
5 • 5 — 7 • 5 + 10 = 25 — 35 + 10 = 0
Все сошлось, я тоже хочу попробовать.
— Пробуй: x2 — 16x + 39 = 0
= Корни 3 и 13. Ну, надо же! Я Вижу!!! Еще хочу!
x2 — 3x + 2 = 0
корни 1 и 2.
= Попался! Это все знают! 1 не является простым числом.
— Ну и что, хоть горшком назови, ну пусть 1 будет «сверх простым числом», но корнем этого уравнения оно является.
= Тогда я предлагаю такое уравнение x2 — 4x = 0 и корни будут 0 и 4.
— Согласен. А реши такое x2 + 18x + 65 = 0
= Решение 5 и 13.
— Неверно.
= Погоди, проверю 13 • 5 = 65; 13 + 5 = 18 ты не прав. Все верно.
— А ты подставь корни в квадратное уравнение.
= Да, не получается, а в чем дело.
— Ты забыл смотреть на знаки. Ответ будет -5 и -13
= Ну, надо же. А я думал, что все проще некуда.
— Давай разберемся со знаками. Вот базовая формула: x2 — Sx + M = 0. При коэффициенте M плюс будет если
= Чего-то ты перемудрил.
— Ну смотри. Если при M стоит минус. Значит насторожись, один из корней отрицателен.
Если + Sx + M, то к гадалке не ходи, оба корня отрицательны. Ну лучше опробуем все это на практике.
x2 — [5+2]x + [5•2] = x2 — 7x + 10 = 0
x2 — [-2+5]x + [-2•5] = x2 — 3x — 10 = 0
x2 — [-5+2]x + [-5•2] = x2 + 3x — 10 = 0
x2 — [-5 + -2]x + [-5•-2] = x2 + 7x + 10 = 0
= В общем понятно, - потренироваться надо.
— Приступай.
x2 — 8x + 12 = 0;
x2 — 2x — 3 = 0;
x2 — 5x + 4 = 0;
x2 — 13x + 12 = 0;
x2 — 7x + 12 = 0;
x2 — 15x + 26 = 0;
x2 + 14x + 45 = 0;
x2 + 3x - 70 = 0;
x2 — 12x + 35 = 0;
— А дальше тренируйся дома «на кошках». Открой учебник и пиши ответы.
— Давай разберем еще два случая.
x2 — 10x + 100 = 0
= Чего-то не понял.
— Уравнение решения не имеет. 100 = 2•2•5•5 при любой комбинации сомножителей сумма будет больше 10.
= Занятно.
x2 — 6x + 9 = 0
— Уравнение имеет единственное решение 3.
— А если так, x2 — 5x + 9 = 0 то решений нет.
= Ну, надо же. И все исходит из волшебной системы?!!
— Как видишь, большинство «школьных» уравнений, ты решишь одной левой.
Но возможны и сложности, например, такой коварный случай:
x2 + 4x + 2 = 0
= Как было сказано «два плюса значит — два отрицательных корня», но не соображу, как может сумма быть больше произведения?
— Подумай! Достаточно абсолютному значению хотя бы одного из корней быть меньше единицы, и в данном случае корни:
—2 — √2 ≈ -3.414213562373095
и
—2 + √2 ≈ -0.5857864376269049
= Т.е. просто глянув на формулу можно многое сказать о корнях, да интересно.
= А что ты называешь «школьным» уравнением.
— В свое время, учась в школе, я заметил, что школьная математика дается в «приглаженном» виде, посмотри в геометрических задачах все углы — 30°, 45°, 60°, 90° а алгебре, как правило, в задании и в ответе целые числа. Последние называются Диофантовы уравнения.
//
Диофантово уравнение — это уравнение вида P(x1, ... , xm) = 0,
где
//
— Кстати задача, которую мы изначально решали, также приписывается Диофанту.
= Вот приду завтра в школу и умою всех отличников.
— / вот выйду из тюрьмы. Куплю костюм с отливом.../
= Скажу Нельке «открой задачник на любой странице и выбери пример» и с ходу раз — ответ, и пока она пыхтит, проверяет, второй пример, третий.
— / Куплю костюм с отливом. И в Гагры.../
= Слушай. Чё-то мне не верится, что за две с половиной тысячи лет никто не нашел такого способа.
— И мне не верится. Но, мы не специалисты, наверное профессиональный математик скажет «на такой-то странице такой-то работы Гаусса или скажем Эйлера есть упоминание о данной теме, в качестве курьеза[2]».
— Но мне кажется, что это тайный инструмент составителей задачников для школьников. Согласись, что составить задачу с заданными свойствами ничего не стоит.
= Тогда Нельке я скажу «назови мне два числа, и я тебе напишу квадратное уравнение, где корнями буду эти два числа». Так пожалуй еще круче. .... но придется признаваться как я это делаю.
— Да не проблема, расскажи и покажи. Но, во время демонстрации помни о коварных случаях например x2 — 5x — 3 = 0.
= Ничего, выкручусь, по крайней мере поражу народ своим анализом корней, а затем скажу, что сегодня с отрицательными корнями не хочу возится.
= А, вот еще вопрос. Мы с тобой рассматривали уравнения типа x2 + bx + c = 0, а если будет полное квадратное уравнение: ax2 + bx + c = 0?
— Элементарно, Ватсон. Раздели полное уравнение на а, и получишь приведенное, а дальше ты знаешь.
= Но тогда получатся дробные коэффициенты.
— Мудрость состоит в том, что не стоит бараном упираться в любой принцип, ежели разделение дроби на сомножители составляет трудность, вспоминай о дискриминанте и прочих радостях стандартной формулы.
Но давай поиграемся с корнями 0.5 и 1.5
x2 — [0.5 + 1.5]x + [0.5 • 1.5] = x2 — 2x + 0.75 = 0
давай для удаления дроби, умножим на 100
100x2 — 200x + 75 = 0
Т.е. по крайней мере составлять уравнение по любым корням ты сможешь, и разбитое сердце для Нелли обеспеченно.
= Я тоже хочу попробовать.
— Ну, давай, давай что-нибудь не обычное, пусть будет корень из тринадцати, итак корни КУ 1 + √13 и 1 — √13.
= Крибле крабле бумс: x2 — 2x — 12 = 0
= «Айнун цванцих фирун зихцих» или как говорили древние финики «Повторение мать мучения»
— Финикийцы?!
= Финики — веселее. Давай я повторю все что понял:
--------------------------------------
1. Посмотреть на знаки
--------------------
— + оба корня положительны
— — один корень отрицателен, но положительный больше*
+ — один корень положителен, но отрицательный больше*
+ + оба корня отрицательны
* больше при сравнении абсолютных величин корней.
--------------------
2. Если M меньше S значит абсолютная величина хотя бы одного корня больше нуля, но меньше единицы.
3. Если M удалось разложить на множителе и их сумма (с учетом знаков) равна S — демонстрируем свои феноменальные способности.
3а. Иначе, быстренько считаем дискриминант или шустренько врем «голова заболела,... я уже устал,... на сегодня достаточно...»
4. В случаях 2 и 3а — плавно переходим к демонстрации изготовления уравнений по заданным корням, это дело беспроигрышно (главное не запутаться в арифметике).
--------------------------------------
— Отлично. Теперь ты готов к подвигам?
— Проверим. Реши такое: — x2 — 7x — 12 = 0
= Два минуса значит...
— Два плюса!! И минус с Гриффиндора за невнимательность. Учитывай коварство противника.
= Понял -3 и -4.
— Я не сказал бы, что ты готов. Побольше тренеруйся и внимательность.
= Спасибо, за отличный прикол. Это будет ШОУ!!!
— Успехов в кардио-математических делах.
Научи меня плохому.
= Спасай!!!
/ Шеф! Все пропало! /
= Шоу под угрозой, а отказаться нельзя.
/ Все, кина не будет. Электричество кончилось. /
— Что случилось?
/ У тебя там не закрытый… а открытый перелом? /
= Сгорел уже на третьей задаче! Хорошо еще, что хвалился своим друзьям, и как заклинило, отговорился, что надо делать уроки и т.п. Но завтра в школе они всем расскажут, и с меня потребуют демонстрацию.
/ Семё-ё-н Семёныч!… /
— Я тебе говорил, что фокусы, как и экспромты, надо тщательно готовить. Потренировался бы побольше, подготовил..., а это мысль...
— Все мои проблемы я...
= Я знаю, все твои проблемы ты решаешь программным путем.
— Да, именно так. План такой: как генерировать квадратные уравнения мы знаем, а значит пишем программку...
/ Лёгким движением руки брюки превращаются… Брюки превращаются… Превращаются брюки… /
Так, это дело займет не пять минут, посмотри пока фильм.
= Брильянтовую ногу?
— Можно и это, но я имел в виду «Праздник святого Йоргена»
............
= Фу..... черно-белый! Немой!!!
— Ну, и что. Фильм тридцатого года, но зато здорово объясняется, как надо готовить чудеса.
...........
— Оторвись, потом досмотришь.
/ Дичь не улетит, она жареная /
— В последнее время я учусь работать с Питоном. Достаточно интересный язык, но особо хвалить или ругать рано, надо получше познакомится.
— Но для начала одно предупреждение. Питон очень требователен к правильному применению отступов, к сожалению fb2 «съедает» лишние пробелы или табуляции, да, есть теги для оформления кода, но не все читалки правильно их воспринимают.
/ Я считаю, что человеку можно верить только в самом крайнем случае. /
Поэтому для зрительного восприятия отступов группы пробелов (табуляцию) я заменю группой точек и пробелов « . . »
= Ясно, при необходимости заменить их на табуляцию. Но не растягивай, у меня время поджимает.
/ Цигель, цигель ай лю-лю /
— Давай разберем, то, что сделано.
— Вариант первый (пробный) для выяснения принципа работы программы.
1 | # -*- coding: utf-8 -*-
2 | import random
3 |
4 | def gen_number():
5 | . . prime_number =(1, 2, 3, 5, 7, 11, 13, 17)
6 | . . sign_number =(0, 1, 2, 3)
7 | . . nu = random.choice(prime_number)
8 | . . sign = random.choice(sign_number)
9 | . . if sign == 0:
10 | . . . . nu = nu * -1
11 | . . return nu
12 |
13 | def show_numb(a):
14 | . . if a > 0:
15 | . . . . return ' + '+ str(a)
16 | . . return ' - ' + str(abs(a))
17 |
18 | for i in range(100):
19 | . . x1 = gen_number()
20 | . . x2 = gen_number()
21 | . . b = x1 + x2
22 | . . c = x1 * x2
23 | . . #print 'x1 = '+str(x1) + ' x2 = '+str(x2)
24 | . . if b != 0:
25 | . . . . print 'x^2 '+ show_numb(b*-1) + 'x ' +show_numb(c)
Строка 2 — подключаем библиотеку для работы со случайными числами.
Строка 4 — функция генерирующая случайное число со случайным знаком
Строка 5 — кортеж из простых чисел, из которых случайно мы будем выбирать ___
Строка 6 — из этого кортежа будем выбирать знак. Минус будет засчитываться только если выпадет 0 (ясно все остальные вероятности = плюс) чем больше этих «ненужных» чисел, тем меньше вероятность выпадания минуса. Вот такая шутка.
Остальные строки функции прозрачны. Не будем сотрясать воздух.
Строка 13 — функция Показа числа. В общем все понятно: если число положительно то перед ним напишем «+», иначе «-».
= А если будет ноль?
— Посмотри внимательно.... нуля не будет.
/ Только нэ суетись! Кутузов!! /
Строка 18 — основной блок программы. В данном случае это цикл повторяющийся 100 раз
Задумываются два числа (из простых чисел с произвольным знаком)





