Você tem fama de resolver problemas com maestria, conhecida pela habilidade de encarar os enigmas matemáticos mais desafiadores. Certa noite, você recebe uma carta urgente de um inventor chamado Triangle Tinkerer, que está trabalhando em um projeto novo e revolucionário. A carta diz:
Caro matemático,
Preciso da sua ajuda. Estou projetando um dispositivo que depende das propriedades únicas dos ternos pitagóricos: conjuntos de três números inteiros que satisfazem a equação a² + b² = c². Este dispositivo vai revolucionar a navegação, mas, para que funcione, preciso programá-lo com todos os ternos possíveis em que a soma de a, b e c seja igual a um número específico, N. Calcular esses ternos à mão levaria anos, mas ouvi dizer que você é mais do que capaz de dar conta da tarefa.
Não há tempo a perder. O futuro da minha invenção, e talvez até o futuro da inovação matemática, depende da sua capacidade de resolver este problema.
Com a importância da tarefa em mente, você parte em busca de todos os ternos pitagóricos que satisfazem a condição. Seu trabalho pode ter implicações de longo alcance, abrindo novas possibilidades na ciência e na engenharia. Você consegue encarar o desafio e entrar para a história?
Um terno pitagórico é um conjunto de três números naturais, {a, b, c}, para os quais,
a² + b² = c²
e tal que,
a < b < c
Por exemplo,
3² + 4² = 5².
Dado um número inteiro N de entrada, encontre todos os ternos pitagóricos para os quais a + b + c = N.
Por exemplo, com N = 1000, existe exatamente um terno pitagórico para o qual a + b + c = 1000: {200, 375, 425}.
Crie sua conta no Exercism para aprender e dominar Standard ML com 90 exercícios e mentoria humana de verdade, tudo de graça.