2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2, 3, 4  След.
 
 Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 11:32 
Все существующие способы генерации пифагоровых троек ( в дальнейшем ПТ), начиная с Евклида, довольно трудоёмки и требуют непростых вычислений и преобразований. Предлагаю компактный способ генерации ПТ.
В основе способа лежит чисто утилитарная задача: есть некое число, к нему надо найти два других числа, удовлетворяющих Диофантову равенству $a^2 + b^2 = c^2$, где c > b > a.
Задачу решаю поэтапно, причём, как и предписал великий Евклид, с использованием неких промежуточных чисел m и n
Задано наименьшее из чисел - "a"
a - чётное Для него m = a /2 $b = m^2 - 1$ $c = b + 2$
Пример:
$ a = 26 ... m = 26 / 2 = 13...b = 13^2 - 1 = 168$ c =168 + 2 = 170
получилась тройка 26 - 168 - 170
Если a - нечётное: Для него m = (a + 1)/2 Вводим промежуточное n = m - 1
Тогда $b = 2mn... c = b + 1$
Пример: a = 29 m = (29 + 1)/ 2 = 15... n = 15 - 1 = 14 $b = 2\cdot15\cdot14$= 420 c = 420 + 1 = 421
(тройка 29 - 420 - 421)
Задано среднее по величине число b
(b - только чётное; нечётным оно быть не может).
1). В этом случае $m = \sqrt{b + 1}$.........(1)
a = 2m c = b + 2
Пример: b = 24 $m = \sqrt{24 + 1} = 5$ a = 2$\cdot5 = 10$ c = b + 2 = 26
( тройка 10 - 24 26)
2). Если корень $\sqrt{b + 1 }$ не извлекается, тогда m определяется по формуле $m = (2 + \sqrt{4 + 8b}) /4$...... (2) a = 2m - 1 c = b + 1
Пример: b = 264 $\sqrt{264 + 1}$ не извлекается
Ищем m по формуле (2): $m = (2 + \sqrt{4 + 8\cdot264})/4 = (2 + \sqrt{4 + 2112})/4 = 12$
a = 2$\cdot12 - 1 = 23   c = 364 + 1 = 365$
(тройка 23 - 364 - 365)
3). Корень не извлекается ни по формуле (1), ни по формуле (2). Например, b = 68 $\sqrt{68 + 1}$ - не извлекается
$(2 + \sqrt{4 + 8\cdot68}) /4$ - корень не извлекается тоже
Вывод : b = 68 не может входить а какую-либо пифагорову тройку
Задано число c
1). Для него $m = \sqrt{c - 1}$........(3) a = 2m b = c - 2
Пример: c = 170 $m = \sqrt{170 - 1} = 13$
$a = 2\cdot13 = 26   b = 170 - 2 = 168$
(тройка 26 - 168 - 170)
2). Если корень $\sqrt{c - 1}$ не извлекается
Определяем m как $m =(2 + \sqrt{4 + 8(c - 1)} )/4$........(4)
$a = 2m - 1.....     b = c - 1$
Пример:
c = 265 $\sqrt{265 - 1}$ не извлекается
Корень по формуле (4) $m = (2 + \sqrt{4 + 8(265 - 1)}  /4  = 12$
$a = 2\cdot12 - 1 = 23.... b = 265 - 1 =  264$
(тройка 23 - 264 - 265)
3). Корень не извлекается ни по формуле (3), ни по формуле (4)
Вывод: для данного c найти пифагорову тройку нельзя
Пример: с = 253 $m = \sqrt{253 - 1}$ - корень не извлекается
$m = (2 + \sqrt{4 + 8\cdot(253 - 1)}  /4$ не извлекается тоже
Вывод: Число 253 не входит ни в одну из пифагоровых троек
Никаких сложностей этот способ не несёт: один - два раза извлечь корень не трудно даже для школьника.
Для людей, по роду занятий вынужденных иметь дело с пифагоровыми тройками, работа очень облегчается.

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 12:08 
Аватара пользователя
Покажите, как вашим способом найти тройку $(20, 21, 29)$.
ivanovbp в сообщении #1575091 писал(а):
b - только чётное; нечётным оно быть не может
$8^2 + 15^2 = 17^2$, хоть википедию бы открыли.

 
 
 
 Ух ты
Сообщение26.12.2022, 12:56 
Аватара пользователя
Ух ты, а можете (когда допилите) перевести из математического языка в язык программирования?

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 17:39 
Аватара пользователя
идея замечательная. по предложению трудящихся и с молчаливого разрешения ТС представляю программу вычисления полного комплекта ПТ для наименьшего элемента. идея слегка дополнена без подглядывания в разные там вики.
Код:
{for(a=1,21 , print1(a," : ");
    fordiv(a,d,g=a*a/d; c2=(d+g);b2=(g-d);
       if(d!=a && c2%2==0 && b2>2*a,c=c2/2;b=b2/2;
          print1(" (",a,", ",b,", ",c,");  "););
    );print("  ");
)}

1 :
2 :
3 : (3, 4, 5);
4 :
5 : (5, 12, 13);
6 : (6, 8, 10);
7 : (7, 24, 25);
8 : (8, 15, 17);
9 : (9, 40, 41); (9, 12, 15);
10 : (10, 24, 26);
11 : (11, 60, 61);
12 : (12, 35, 37); (12, 16, 20);
13 : (13, 84, 85);
14 : (14, 48, 50);
15 : (15, 112, 113); (15, 36, 39); (15, 20, 25);
16 : (16, 63, 65); (16, 30, 34);
17 : (17, 144, 145);
18 : (18, 80, 82); (18, 24, 30);
19 : (19, 180, 181);
20 : (20, 99, 101); (20, 48, 52);
21 : (21, 220, 221); (21, 72, 75); (21, 28, 35);


насчёт суммы двух квадратов: вопрос сложный. отмечу лишь удивительную красоту визуализации отклонения её от точного квадрата:
Изображение

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 18:38 
Аватара пользователя
mihaild в сообщении #1575096 писал(а):
Покажите, как вашим способом найти тройку $(20, 21, 29)$.

Из первого тождества ТС
$(a^2-4)^2+(4a)^2=(a^2+4)^2$ при $a=5$ имеем, что Вы хотите получить.

Только, во-первых, смысла во всем этом велосипеде, по-моему, нет, во-вторых, нужно доказывать, что получаются все ПТ. Общеизвестно, что все взаимнопростые ПТ получаем $a=2pq, b=p^2-q^2,c=p^2+q^2, (p,q)=1$

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 18:54 
Аватара пользователя
juna в сообщении #1575130 писал(а):
Из первого тождества ТС
Это которого?

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 18:55 
Аватара пользователя
mihaild в сообщении #1575132 писал(а):
Это которого?


ivanovbp в сообщении #1575091 писал(а):
a - чётное Для него m = a /2 $b = m^2 - 1$ $c = b + 2$

Просто нет смысла придираться к очевидным неточностям ТС

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 19:07 
Аватара пользователя
gris Вау, похоже я уверовал в святого Николая!!! И код и картина...!!! +3

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 19:28 
Аватара пользователя
juna в сообщении #1575133 писал(а):
Просто нет смысла придираться к очевидным неточностям ТС
По-моему, есть. Если уж заниматься тривиальными вещами, то хотя бы без ошибок.
Ну и мне сложно придумать, как можно получить правильную параметризацию хоть как-то используя процитирвоанный фрагмент.

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 19:40 
Аватара пользователя
mihaild в сообщении #1575137 писал(а):
Ну и мне сложно придумать, как можно получить правильную параметризацию хоть как-то используя процитирвоанный фрагмент.

$$\left(\left(\frac{a}{2}\right)^2-1\right)^2+a^2=\left(\left(\frac{a}{2}\right)^2+1\right)^2$$
Домножаем на $4^2$, получаем искомое.

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 20:08 
mihaild в сообщении #1575096 писал(а):
Покажите, как вашим способом найти тройку $(20, 21, 29)$.
ivanovbp в сообщении #1575091 писал(а):
b - только чётное; нечётным оно быть не может
$8^2 + 15^2 = 17^2$, хоть википедию бы открыли.

1. Способ приведён для ППТ. Другие ПТ могут быть получены из ППТ умножением на "к"
2. Для нечётных b полностью справедливы соотношения для чётных b
3. Я привёл закономерности для того, чтобы можно было быстро (без таблиц и Википедии) найти ПТ для любого заданного числа.
Нпр., c = 8581 и c = 3279 Необходимо айти к ним a и b
Без Википедии можете обойтись? И сколько это займёт времени?

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 20:17 
Аватара пользователя
ivanovbp в сообщении #1575139 писал(а):
Способ приведён для ППТ.

Чудесно, вот и докажите, что они получаются все! А то в первой части ваших тезисов только частный случай при $q=2$, а во второй $q=1$.

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 20:26 
Аватара пользователя
juna, т.е. нужно разрешить брать рациональные $m$ и потом домножать на что-то, чтобы получилось целое. В стартовом посте про это ни слова.
ivanovbp в сообщении #1575139 писал(а):
Способ приведён для ППТ.
Тройка $(20, 21, 29)$ примитивна, в ней даже простое число есть.
ivanovbp в сообщении #1575139 писал(а):
2. Для нечётных b полностью справедливы соотношения для чётных b
Тогда и записывайте утверждения с нужными условиями, а ненужные не записывайте.
ivanovbp в сообщении #1575139 писал(а):
Я привёл закономерности для того, чтобы можно было быстро (без таблиц и Википедии) найти ПТ для любого заданного числа
Продемонстрируйте, как по ним найти тройку $(20, 21, 29)$. А еще у вас прямо написано, что тройки $(8, 15, 17)$ не существует.

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение26.12.2022, 20:44 
Аватара пользователя
mihaild в сообщении #1575141 писал(а):
juna, т.е. нужно разрешить брать рациональные $m$ и потом домножать на что-то, чтобы получилось целое. В стартовом посте про это ни слова.

Еще раз, Вы слишком категоричны к ТС. Все изобретения сводятся к тривиальным частным случаям известной с Пифагора-Платона параметризации. Неинтересно. Но, критика, на мой взгляд, не должна уж совсем отрицать результативные мысли, пусть простые и некорректно оформленные.

 
 
 
 Re: Просто о сложном - о генерации пифагоровых троек
Сообщение27.12.2022, 08:36 
Аватара пользователя
ivanovbp в сообщении #1575091 писал(а):
Для него $m = a /2$ $b = m^2 - 1$ $c = b + 2$

то есть $c=m^2+1$ ; $c-b=2$. Похоже на:

Soul Friend в сообщении #1229539 писал(а):
$$(4n-1)^2-(2(n-1))^2=((4n-1)+2)^2-((2(n-1))+4)^2$$


Еще про Пифагоровы тройки:
post1381139

 
 
 [ Сообщений: 46 ]  На страницу 1, 2, 3, 4  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group