Как найти все пифагоровы тройки включающие число

Пифагоровы числа — это числа x, y, z, которые образуют Пифагорову тройку.
Простейшая Пифагорова тройка – это тройка чисел (x, y, z), которые являются взаимно простыми числами и имеют наибольший общий знаменатель, равный 1.
Из каждой примитивной тройки можно получить другую Пифагорову тройку, умножив x, y, z на одно и то же натуральное число k.
В примитивной тройке (x, y, z) числа x и y разной четности, причем, четное число должно делиться на 4. А число z – всегда – нечётное. Также одно из чисел всегда делится на 3.
Как составить пифагорову тройку указывает формула Евклида.

Как составить пифагорову тройку. Формула Евклида для пифагоровой тройки
Любая примитивная тройка представляется в виде:

Другими словами, катеты (x, y) и гипотенузу (z) пифагорова треугольника можно выразить следующими формулами:

где m, n — целые числа (m>n).
Образованные при помощи формулы Евклида тройки будут примитивными тогда и только тогда, когда m и n взаимно простые и (m-n) — нечетное число.
Числа m и n не могут быть оба четными или оба нечетными, так как в этим случаях гипотенуза z = m 2 + n 2 будет четной, что невозможно.
Если и m, и n одновременно являются нечетными, то x, y и z будут четными, а тройка не будет примитивной. Однако деление x, y и z на 2 даcт примитивную тройку, если m и n взаимно просты.
Доказательство формулы Евклида
Шаг 1
Рассмотрим уравнение Пифагоровой тройки (формулу нахождения Пифагоровых троек):

x, y и z – взаимно простые числа.
Докажем, что простая Пифагорова тройка, составленная из этих чисел, может быть представлена в виде:


Воспользуемся формулой квадрата разности:

Следовательно, x 2 является средним геометрическим чисел (z+y) и (z-y). Значит, можем записать:

Левую часть равенства представим в виде несократимой дроби m/n:

Шаг 2
Перепишем левую часть полученного равенства:


Приведем правую часть равенства к общему знаменателю:

Шаг 3
С учетом введенного обозначения, перепишем равенство, полученное на шаге 1:


Перепишем левую часть равенства:


Приведем к общему знаменателю правую часть равенства:

Шаг 4
Сложим уравнения, полученные на шагах 2 и 3:




Так как по условию – x – простое число, то x не равно нулю, следовательно, на него можно сокращать:


Шаг 5
Вернемся к обозначению, введенному на шаге 1:

Представим правую часть как сумму дробей:


Воспользуемся уравнением из шага 3:


Сложим последнее уравнение с уравнением:


Приведем к общему знаменателю:

Так как по условию – x – простое число, то x не равно нулю, следовательно, на него можно сокращать:


Шаг 6
Итак, в процессе рассуждений получили равенства:


z/x и y/x – несократимые дроби, так как по условию x, y, z – взаимно простые числа
m\n – также несократимая дробь (см. шаг 1).
Числители и знаменатели равенств являются равными тогда и только тогда, когда правые части каждого равенства – несократимы.
В свою очередь, правые части будут несократимы тогда и только тогда, когда m и n имеют противоположную четность, из чего следует, что числители не делятся на 2.
Итак, можем приравнять числители и знаменатели:

Где m и n – взаимно простые числа и имеют различную четность.
таким образом, мы доказали формулу Евклида, которая показывает как составить пифагорову тройку.
Шаг 7

Можно еще одним способом.
Воспользуемся уравнением, полученным на шаге 1:

Пусть x – четное число, которое делится на 4.
Так как x делится на 4 и произведение (z-y)(z+y) – четное (произведение суммы двух нечетных чисел на разность нечетных чисел будет четным), то разделив обе части уравнения на 4, получим:

Перепишем, воспользовавшись свойством степеней и дробей:

Воспользовавшись свойством корней, можем правую часть равенства переписать:






Таким образом, мы рассмотрели все варианты доказательств формул, показывающих как составить пифагорову тройку.
Найдите все пифагоровы тройки, в которых все числа находятся в диапазоне [1; 5000] [закрыт]
Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу
Закрыт 1 год назад .
Это сообщение было исправлено и отправлено на проверку 1 год назад , но повторное открытие сообщения провалилось:
Пифагоровой тройка назовём тройку чисел (a, b, c), такую что a ≤ b ≤ с и a 2 +b 2 =c 2 . Найдите все пифагоровы тройки, в которых все числа находятся в диапазоне [1; 5000]. Запишите в ответе количество подходящих троек, а затем – значение c для тройки, в которой сумма a+b+c максимальна.
Помогите пожалуйста, код нужен на python, в ответе к заданию (5681 4988)
Ну, я написал код, но пока вам его не покажу — это всё-таки учебное задание. Но дам подсказки:
- перебирайте в цикле a в указанном вам диапазоне [1,5000]
- перебирайте в цикле b , учитывая, что оно тоже должно быть в диапазоне [1,5000] и кроме того, что a <= b
- c перебирать не нужно, его можно вычислить зная a и b из уравнения, которое вам дано
- вычисленное c нужно проверить на попадание в диапазон и на то, что получилось вообще целое число
- если c получилось подходящее — увеличивайте счётчик, кроме того, сравните получающееся a+b+c с ранее запомненным значением (сначала запомните 0, как и в счётчик), если оно больше — запомните его и запомните c
- после окончания циклов выведите значение счётчика и запомненного c
Вышеуказанные два вложенных цикла + логика внутри них работают 8 секунд в Google Colab, этого вполне достаточно, чтобы дальше код можно было особо не оптимизировать.
Вот если бы было три вложенных цикла по 5000 значений, то это бы работало конкретно долго.
Найдите все пифагоровы тройки, в которых все числа находятся в диапазоне [1; 5000]?

Не пойму почему делаете так. Можно куда проще.
Можно сгенерировать список квадратов чисел:
squares = [i*i for i in range(1, 5001)]
При этом индекс элемента в списке i всегда будет на один меньше, чем число, чей квадрат находится по индексу i.
Теперь задача переформулируется таким образом: найти все пары чисел из этого списка, сумма которых тоже в этом списке.
Работает не очень быстро, но работает.
EDIT: можно резко ускорить код, если учесть следующее: нам не обязательно искать сумму во всем списке. Мы знаем, что сумма будет больше чем b^2, т.е. будет иметь индекс больше чем b. Также мы знаем, что a^2 + b^2 < (a+b)^2, т.е. сумма будет иметь индекс меньше чем a+b. Отсюда:
Пифагоровы тройки

В математике пифагоровыми числами (пифагоровой тройкой) называется кортеж из трёх целых чисел удовлетворяющих соотношению Пифагора:
Содержание
Свойства

Поскольку уравнение x 2 + y 2 = z 2 однородно, при домножении x , y и z на одно и то же число получится другая пифагорова тройка. Пифагорова тройка называется примитивной, если она не может быть получена таким способом, то есть — взаимно простые числа.
Треугольник, стороны которого равны пифагоровым числам, является прямоугольным. Кроме того, любой такой треугольник является героновым, то есть таким, у которого все стороны и площадь являются целочисленными. Простейший из них — египетский треугольник со сторонами 3, 4 и 5 ( 3 2 + 4 2 = 5 2 ).
Пифагорова тройка
задаёт точку с рациональными координатами
на единичной окружности x 2 + y 2 = 1 .
Нетрудно видеть, что в примитивной тройке (x,y,z) числа x и y имеют разную чётность. Любая примитивная пифагорова тройка (x,y,z) , где x — нечётно, а y — чётно, однозначно представляется в виде
для некоторых натуральных взаимно простых чисел m > n разной чётности. Наоборот, любая такая пара
задаёт примитивную пифагорову тройку
. [1]
Примеры
Некоторые пифагоровы тройки (отсортированы по возрастанию максимального числа, выделены примитивные):
(3, 4, 5), (6, 8, 10), (5, 12, 13), (9, 12, 15), (8, 15, 17), (12, 16, 20), (15, 20, 25), (7, 24, 25), (10, 24, 26), (20, 21, 29), (18, 24, 30), (16, 30, 34), (21, 28, 35), (12, 35, 37), (15, 36, 39), (24, 32, 40), (9, 40, 41), (14, 48, 50), (30, 40, 50)…
История
Пифагоровы тройки известны очень давно. В архитектуре древнемесопотамских надгробий встречается равнобедренный треугольник, составленный из двух прямоугольных со сторонами 9, 12 и 15 локтей. Пирамиды фараона Снофру (XXVII век до н. э.) построены с использованием треугольников со сторонами 20, 21 и 29, а также 18, 24 и 30 десятков египетских локтей.
X Всероссийский симпозиум по прикладной и промышленной математике. Санкт — Петербург, 19 мая 2009г.