Нужен код на питон
Пифагоровой тройка назовём тройку чисел (a, b, c), такую что a≤b≤с и a2+b2=c2. Найдите все пифагоровы тройки, в которых все числа находятся в диапазоне [1; 5000]. Запишите в ответе количество подходящих троек, а затем – значение c для тройки, в которой сумма a+b+c максимальна
Ответы
Ответ:
У уравнения a^2 + b^2 = c^2 существует бесконечно много решений в целых числах. Эти решения называются пифагоровы тройки. Такое название они получили потому, что им соответствуют прямоугольные треугольники, стороны которых выражаются именно такими наборами чисел. Генерировать пифагоровы тройки можно с помощью таких вот трех формул: m^2 — n^2, 2mn, m^2 + n^2. В эти формулы надо подставлять разные значения m и n и тогда будут получаться нужные нам тройки. Главное убедиться, что полученные числа будут больше нуля — длины не могут выражаться отрицательными числами.
Кстати, легко заметить, что если все числа в пифагоровой тройке умножить на некоторое ненулевое число, получится новая пифагорова тройка. Поэтому разумно изучать тройки, в которых у трех чисел в совокупности нет общего делителя. Схема, которую мы описали, позволяет получить все такие тройки — это уже совсем не простой результат.
Напишите программу, которая по введенному целому числу, выводит все пифагоровы тройки, у которых наибольшее значение не больше данного числа.
Формат ввода
Целое число N < 800.
Формат вывода
Все пифагоровы тройки по три целых числа в строке, разделенные пробелом, наибольшее значение которых не больше введенного числа. У чисел каждой тройки не должно быть общего делителя. Порядок вывода неважен.
Числа в тройке располагаются в порядке возрастания.
Если таких нет, ничего не выводится.
Пример 1
Ввод
5
Вывод
3 4 5
Пример 2
Ввод
41
Вывод
3 4 5
5 12 13
8 15 17
7 24 25
20 21 29
9 40 41
12 35 37