С++ и Python
Реализуйте сортировку методом BozoSort. Данную сортировку реализуйте в виде трёх отдельных функций для следующих случаев:
Примечание 1: в Python параметр *args использовать запрещено.
Примечание 2: использовать одну функцию в другой можно.
Для всех трёх случаев:
Имя функции одинаковое BozoSort;
Исходные данные не изменяются;
Функция возвращает одномерный вектор/лист отсортированных значений;
Кроме данных требующих сортировки функция должна принимать, последним параметром, порядок сортировки. Порядок сортировки задаётся параметром булевого типа:
По умолчанию все функции должны сортировать данные по возрастанию. О параметрах со значениями по умолчанию можно почитать: C++, Python (3 пункт).
Продемонстрируйте работу функций отсортировав входные данные сначала по возрастанию, затем по убыванию.
Формат ввода
В первой строке задаётся одно целое число — количество чисел требующий сортировки , при этом корень из - целое число. В следующей строке через пробел задаются сам числа. Для функций принимающих двумерный массив количество столбцов и строк определяется как . Для функций принимающих три числа ввод всегда ограничен первыми тремя числами.
Формат вывода
В отдельных строках выведите числа отсортированные сначала по возрастанию, затем по убыванию. И так для каждой функции.
Пример 1
Ввод | Вывод |
4 2 1 7 -3 | -3 1 2 7 7 2 1 -3 -3 1 2 7 7 2 1 -3 1 2 7 7 2 1 |
С++
Реализуйте шаблоны функций описанных в задании 25. Продемонстрируйте работу на примере: чисел: double
и сток: std::string
.
Формат ввода
В первой строке задаётся одно целое число — количество значений требующий сортировки , при этом корень из - целое число. В следующей строке через пробел задаются сам значения. Для функций принимающих двумерный массив количество столбцов и строк определяется как . Для функций принимающих три значения ввод всегда ограничен первыми тремя значениями. Далее ввод повторяется.
В первом случае требуется считать данные как вещественные числа, во втором случае как строки.
Формат вывода
В отдельных строках выведите значения отсортированные сначала по возрастанию, затем по убыванию. И так для каждой функции.
Пример 1 (double)
Ввод | Вывод |
4 2 1 7 -3 4 2 1 7 -3 | -3 1 2 7 7 2 1 -3 -3 1 2 7 7 2 1 -3 1 2 7 7 2 1 -3 1 2 7 7 2 1 -3 -3 1 2 7 7 2 1 -3 1 2 7 7 2 1 |
С++ и Python
Вам известна последовательность поступления сигналов с устройства.
После каждого поступившего сигнала необходимо вывести 5 самых минимальных сигналов от начала наблюдений. Если сигналов было меньше, то нужно вывести все имеющиеся сигналы.
Выводите сигналы в порядке убывания.
Формат ввода
В первой строке записано одно целое число () — количество сигналов. Во второй строке записаны целых чисел ().
Формат вывода
Выведите строк, в каждой из которых будут записаны, в порядке убывания, самые минимальные 5 сигналов (или все, если наблюдений было меньше 5).
Пример 1
Ввод | Вывод |
3 3 1 2 | 3 3 1 3 2 1 |
Пример 2
Ввод | Вывод |
8 1 2 3 4 5 6 7 0 | 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 4 3 2 1 0 |
С++ и Python
Факторизацией натурального числа называется его разложение в произведение простых множителей.
Реализуйте функцию выполняющую факторизацию и отображающую на экран разложение переданного ей числа на простые множители.
Прототип функции:
xxxxxxxxxx
void print_factorization(unsigned int n);
xxxxxxxxxx
print_factorization(n: int) -> None
Формат ввода
В единственной строке вводится натуральное число ().
Формат вывода
Простые множители без повторения разделённые знаком умножения *
, если есть несколько одинаковых сомножителей, то кол-во повторений записывается как показатель степени у этого сомножителя.
Пример 1
Ввод | Вывод |
10 | 2*5 |
Пример 2
Ввод | Вывод |
999 | 3^3*37 |
|
|
|
|
|