Даны 2 натуральных числа A и B.
Выведи массив из B чисел A и A чисел B. Числа в массиве должны быть расположены по возрастанию.
Ввод Вывод
4
3 [3, 3, 3, 3, 4, 4, 4]
Вот подробное решение задачи.
Цель: выдать массив, состоящий из B чисел A и A чисел B, упорядоченный по возрастанию.
Разбор задачи
- Нужно взять B копий числа A и A копий числа B.
- Затем упорядовать всё по возрастанию.
Пошаговый подход
1) Подсчитать количества каждого значения:
- Число A встречается B раз.
- Число B встречается A раз.
2) Чтобы получить массив по возрастанию, размещаем меньшее значение раньше большего.
- Пусть A <= B:
- результат: A повторяется B раз, затем B повторяется A раз.
- Пусть A > B:
- результат: B повторяется A раз, затем A повторяется B раз.
3) Применение к примеру:
- Ввод: A = 4, B = 3 (A > B).
- B повторяется A раз: 3, 3, 3, 3
- A повторяется B раз: 4, 4, 4
- Объединяем и получаем отсортированный массив: [3, 3, 3, 3, 4, 4, 4]
Обобщённая формула
- Если A <= B: результат = [A] повторяется B раз, затем [B] повторяется A раз.
- Если A > B: результат = [B] повторяется A раз, затем [A] повторяется B раз.
Сделаем вывод по данному примеру
- Ввод: A = 4, B = 3
- Вывод: [3, 3, 3, 3, 4, 4, 4]
Дополнительно (если интересно кодовое оформление):
- На любом языке можно реализовать напрямую без сортировки:
- если A <= B: вывести A повторительно B раз, затем B повторительно A раз
- иначе: вывести B повторительно A раз, затем A повторительно B раз
- Сложность: O(A + B) по времени и памяти (без лишнего сортирования).