Eres una persona muy hábil resolviendo problemas, y se te conoce por tu capacidad de enfrentarte a los acertijos matemáticos más difíciles. Una noche recibes una carta urgente de un inventor llamado Triangle Tinkerer, que está trabajando en un proyecto nuevo y revolucionario. La carta dice:
Estimado matemático:
Necesito tu ayuda. Estoy diseñando un dispositivo que depende de las propiedades únicas de los tripletes pitagóricos, conjuntos de tres números enteros que satisfacen la ecuación a² + b² = c². Este dispositivo revolucionará la navegación, pero para que funcione, debo programarlo con cada triplete posible en el que la suma de a, b y c sea igual a un número específico, N. Calcular estos tripletes a mano me tomaría años, pero tengo entendido que eres más que capaz de asumir la tarea.
El tiempo apremia. El futuro de mi invento, y quizá incluso el futuro de la innovación matemática, depende de tu capacidad de resolver este problema.
La importancia de la tarea te motiva, así que te propones encontrar todos los tripletes pitagóricos que cumplen la condición. Tu trabajo podría tener consecuencias de gran alcance y abrir nuevas posibilidades en la ciencia y la ingeniería. ¿Puedes estar a la altura del desafío y hacer historia?
Un triplete pitagórico es un conjunto de tres números naturales, {a, b, c}, para el que
a² + b² = c²
y tal que
a < b < c
Por ejemplo,
3² + 4² = 5².
Dado un número entero de entrada N, encuentra todos los tripletes pitagóricos para los que a + b + c = N.
Por ejemplo, con N = 1000, hay exactamente un triplete pitagórico para el que a + b + c = 1000: {200, 375, 425}.
Una o varias de las pruebas de este ejercicio están etiquetadas como :slow, porque pueden tardar mucho en terminar. Por esta razón, el ejecutor de pruebas automatizado no las ejecutará en la plataforma. Si vas a resolver este ejercicio directamente en la plataforma, en el editor web, quizás te convenga descargar el ejercicio a tu computadora. Así podrás ejecutar todas las pruebas y comprobar la eficiencia de tu solución.
Regístrate en Exercism para aprender y dominar Elixir con 58 conceptos168 ejercicios y mentoría humana real, todo gratis.