Найдите M, для которых числа A, B, C образуют AP, если любое из них делится на M
Даны три положительных целых числа A , B и C , задача состоит в том, чтобы выяснить, что, если мы разделим любое из них на любое целое число M(m>0 ), могут ли они образовать AP (арифметическую прогрессию) в том же заданном порядке . . Если возможно несколько значений, выведите их все, а если ни одно из возможных значений, выведите -1.
Примеры:
Input: A = 25, B = 10, C = 15
Output: 5
Explanation: If A(25) is divided by 5 then the three integers are 5, 10, 15 which form an A.P
with common difference 5.Input: A = 18, B = 4, C = 2
Output: 3.
Explanation: If A(18) is divided by 3 then the three integers are 6, 4, 2 which form an A.P
with common difference -2.Input: A = 7, B = 11, C = 13
Output: -1
Explanation: It can be proved that their exists no positive integer which on dividing with
any one of the three numbers can form an A.P.
Подход:
Три числа A, B и C находятся в AP, если:
B – A = C – B = d
Here,
A, B, and C are the three numbers
d is the common difference
Используя приведенное выше свойство общей разности AP, можно получить три формулы для трех случаев:
- Когда A делится на целое число m1-
For A / m1, B, C to form an A.P., we have
B – A / m1 = C – B
Thus, m1 = a / (2 * B – C)
- Когда B делится на целое число m2-
For A, B / m2, C to form an A.P., we have
B / m2 – A = C – B / m2
Thus, m2 = 2 * B/ (C + A)
- Когда C делится на целое число m3-
For A, B, C / m3 to form an A.P., we have
B – A = C / m3 – B
Thus, m3 = C / (2 * B – A)
- Теперь у нас есть возможные значения M для каждого случая, затем проверьте каждое из трех значений, если какое-либо из них является положительным целым числом, то это значение является требуемым ответом.
- Если такого возможного значения не существует, выведите -1.
Ниже приведена реализация вышеуказанного подхода:
Сложность времени: О(1)
Вспомогательное пространство: О(1)