Problema
Ver original (inglés)Encuentra enteros positivos a < b < c tales que a² + b² = c² y a + b + c = perimeter. Devuelve el mayor producto a × b × c entre los triángulos que cumplen, o −1 si no hay ninguno. Esto generaliza la tarea original de perímetro fijo y maneja explícitamente múltiples respuestas.
Implementa pythagorean_product(perimeter).
Entrada
perimeter: La suma requerida de los tres lados.
Salida
Devuelve el mayor producto, o −1 si ningún triángulo califica.
Restricciones
3 ≤ perimeter ≤ 100,000. Los productos caben en enteros con signo de 64 bits.
Ejemplos
Entrada:
perimeter = 30
Salida esperada:
expected = 780
Entrada:
long long perimeter = 30;
Salida esperada:
long long expected = 780;
Entrada:
long perimeter = 30;
Salida esperada:
long expected = 780;
Explicación
El triángulo es (5, 12, 13): 25 + 144 = 169 y 5 + 12 + 13 = 30. Su producto es 780.
Entrada:
perimeter = 11
Salida esperada:
expected = -1
Entrada:
long long perimeter = 11;
Salida esperada:
long long expected = -1;
Entrada:
long perimeter = 11;
Salida esperada:
long expected = -1;
Explicación
No hay lados de triángulo rectángulo de enteros positivos crecientes cuya suma sea 11.
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.