Найдите такие положительные целые числа a < b < c, что a² + b² = c² и a + b + c = perimeter. Верните наибольшее произведение a × b × c среди подходящих треугольников, либо −1, если таких нет. Эта задача обобщает исходную задачу с фиксированным периметром и явно учитывает случаи с несколькими ответами.
Реализуйте функцию pythagorean_product(perimeter).
Ввод
perimeter: Требуемая сумма трёх сторон.
Вывод
Верните наибольшее произведение, либо −1, если подходящих треугольников нет.
Ограничения
3 ≤ perimeter ≤ 100 000. Произведения помещаются в знаковый 64-битный тип.
Примеры
Ввод:
perimeter = 30
Ожидаемый вывод:
expected = 780
Ввод:
long long perimeter = 30;
Ожидаемый вывод:
long long expected = 780;
Ввод:
long perimeter = 30;
Ожидаемый вывод:
long expected = 780;
Пояснение
Треугольник (5, 12, 13): 25 + 144 = 169 и 5 + 12 + 13 = 30. Его произведение — 780.
Ввод:
perimeter = 11
Ожидаемый вывод:
expected = -1
Ввод:
long long perimeter = 11;
Ожидаемый вывод:
long long expected = -1;
Ввод:
long perimeter = 11;
Ожидаемый вывод:
long expected = -1;
Пояснение
Нет возрастающих положительных целых сторон прямоугольного треугольника с суммой 11.
Ссылки
Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.