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}.
Range debe devolver un array de todas las ternas pitagóricas con lados en el rango de min a max, inclusive.
Sum debe devolver un array de todas las ternas pitagóricas cuya suma a+b+c (el perímetro) sea igual a p.
Los tres elementos de cada terna devuelta deben estar en orden, t[0] <= t[1] <= t[2], y el array de ternas debe estar en orden lexicográfico.
Regístrate en Exercism para aprender y dominar Go con 34 conceptos165 ejercicios y mentoría humana real, todo gratis.