Найдите тройку (X, Y, Z), такую, что все они делятся на A, ровно одна делится и на A, и на B, и X + Y = Z.

Опубликовано: 19 Сентября, 2022

Даны два целых числа A и B , задача состоит в том, чтобы найти тройку (X, Y, Z) такую, что все они делятся на A , ровно одно из них делится и на A , и на B , и X + Y = Z .

Пример:

Input: A = 5, B = 3
Output: 10 50 60
Explanation: For the triplet (10, 50, 60), all of them are divisible by 5, 60 is divisible by both 5 and 3, and 10 + 50 = 60. Therefore, (10, 50, 60) is valid triplet. Other possible triplets are (5, 25, 30), (5, 15, 20)

Input: A = 7, B = 11
Output: 28 154 182

Подход: данная задача представляет собой задачу, основанную на наблюдениях, которую можно решить с помощью базовой математики. Можно заметить, что триплет (A, A * B, A * (B + 1)) удовлетворяет всем заданным условиям, за исключением случаев, когда значение B равно 1 . В этом случае видно, что всегда будет нарушаться условие, что ровно одно из них должно делиться и на А , и на В. Итак, если B = 1 , допустимой тройки не существует, иначе выведите (A, A * B, A * (B + 1)) .

Ниже приведена реализация вышеуказанного подхода:


Временная сложность: O(1)
Вспомогательное пространство: O(1)

РЕКОМЕНДУЕМЫЕ СТАТЬИ