Задача представляет собой поиск количества целых чисел от 1 до n и от 1 до m, которые делятся на x и y соответственно. Мы можем решить эту задачу, используя принцип включения-исключения.
Первым шагом будет найти количество чисел от 1 до n, которые делятся на x. Это можно сделать, разделив n на x и округлив результат вниз до ближайшего целого числа. Обозначим это количество как n_div_x.
Аналогично, найдем количество чисел от 1 до m, которые делятся на y, и обозначим его как m_div_y.
Однако, при подсчете n_div_x и m_div_y мы учтем некоторые числа дважды. Например, число x*y будет учтено и в n_div_x, и в m_div_y. Чтобы исправить это, нам нужно вычесть количество чисел, которые делятся и на x, и на y. Для этого мы найдем количество чисел от 1 до n, которые делятся и на x, и на y, и обозначим его как n_div_x_and_y. Это можно сделать, разделив n на x*y и округлив результат вниз до ближайшего целого числа.
Количество чисел, которые учтены дважды, можно найти, вычислив наименьшее общее кратное (НОК) чисел x и y. Для этого мы найдем НОД (наибольший общий делитель) чисел x и y и используем его для вычисления НОК. Обозначим это количество как count_div_x_and_y.
Теперь, чтобы получить итоговое количество чисел, которые делятся на x и y, мы вычтем count_div_x_and_y из суммы n_div_x и m_div_y.
Псевдокод для решения этой задачи:
1. Вводим n, m, x, y с клавиатуры.
2. Вычисляем n_div_x = floor(n/x).
3. Вычисляем m_div_y = floor(m/y).
4. Вычисляем n_div_x_and_y = floor(n/(x*y)).
5. Находим НОД чисел x и y с помощью алгоритма Евклида. Обозначим его gcd.
6. Вычисляем count_div_x_and_y = floor((n_div_x_and_y * gcd)/x).
7. result = n_div_x + m_div_y - count_div_x_and_y.
8. Выводим результат.
Пример:
Входные данные:
n = 10
m = 5
x = 2
y = 3
Выходные данные:
result = 4
Объяснение:
n_div_x = floor(10/2) = 5
m_div_y = floor(5/3) = 1
n_div_x_and_y = floor(10/(2*3)) = 1
gcd = НОД(2, 3) = 1
count_div_x_and_y = floor((1 * 1)/2) = 0
result = 5 + 1 - 0 = 4
Таким образом, существует 4 числа от 1 до 10, которые делятся на 2 и 3. Это числа 2, 4, 6 и 8.