Ми - досвідчені розвʼязувачі задач, відомі своєю здатністю братися за найскладніші математичні головоломки. Одного вечора ми отримуємо термінового листа від винахідника на імʼя Triangle Tinkerer, який працює над проривним новим проєктом. У листі написано:
Шановний математику,
Мені потрібна допомога. Я розробляю пристрій, який покладається на унікальні властивості піфагорових трійок: наборів з трьох цілих чисел, які задовольняють рівняння a² + b² = c². Цей пристрій революціонізує навігацію, але щоб він працював, я маю запрограмувати його на кожну можливу трійку, у якій сума a, b і c дорівнює певному числу N. Обчислювати ці трійки вручну зайняло б у мене роки, але я чув, що це завдання нам цілком під силу.
Час не терпить зволікань. Майбутнє мого винаходу, а можливо, й майбутнє математичних інновацій, залежить від нашої здатності розвʼязати цю задачу.
Спонукувані важливістю цього завдання, ми вирушаємо на пошуки всіх піфагорових трійок, які задовольняють умову. Наша робота могла б мати далекосяжні наслідки, відкриваючи нові можливості в науці та інженерії. Чи зможемо ми прийняти цей виклик і ввійти в історію?
Піфагоровою трійкою називають три натуральні числа {a, b, c}, для яких
a² + b² = c²
і які задовольняють умову
a < b < c
Наприклад,
3² + 4² = 5².
Дано ціле число N. Знайдіть усі піфагорові трійки, для яких a + b + c = N.
Наприклад, якщо N = 1000, існує рівно одна піфагорова трійка, для якої a + b + c = 1000: {200, 375, 425}.
Зареєструйтеся на Exercism, щоб вивчати й опановувати x86-64 Assembly, а також 22 концепції130 вправ та справжнє наставництво від людей, і все це безкоштовно.