Задания для практической работы -------------------------------- Пример №1 (ex_06_01.cpp) ''''''''''''''''''''''''' Составить программу разложения натурального числа n на простые множители. Решение оформить в виде функции **decomposition_number**. Функция принимает в качестве аргумента целое число и возвращает **СТРОКУ** c простыми делителями, разделенных пробелом .. code-block:: cpp ... #include string decomposition_number(int number) { string result=""; ... return result; } Пример №2 (ex_06_02.cpp) '''''''''''''''''''''''''' 1) Составить программу вычисления КОЛИЧЕСТВА делителей при разложении натурального числа n на простые множители. Решение оформить в виде функции **count_divider**. Функция принимает в качестве аргумента целое число и возвращает КОЛИЧЕСТВО простых делитей .. code-block:: cpp #include int count_divider(int number) { int result=0; //... return result; } 2) (ДОПОЛНИТЕЛЬНО) На промежутке от 0 до 9999 найти число с МАКСИМАЛЬНЫМ количеством делителей Решение оформить в виде функции **max_count_divider**. Функция принимает в качестве аргумента целое число и возвращает ЧИСЛО С МАКСИМАЛЬНЫМ КОЛИЧЕСТВОМ простых делитей 3) (ДОПОЛНИТЕЛЬНО) На промежутке от 0 до 9999 найти число с МАКСИМАЛЬНЫМ количеством *неповторяющихся* делителей Пример №3 (ex_06_03.cpp) '''''''''''''''''''''''''' Дан числовой ряд и некоторое число e . Найти сумму тех чле­нов ряда, модуль которых больше или равен заданному числу е, если общий член этого ряда имеет следующий вид: .. fugure:: img/ex_06_03.png :scale: 100% :align: center Решение оформить в виде функции **iter_cycle**, принимающей на вход вещественное число e и возвращающей сумму членов ряда .. code-block:: cpp double iter_cycle(double e) { double S = 0; //... return S; } Самостоятельно (ex_06_04.cpp): ''''''''''''''''''''''''''''''' Дан числовой ряд и некоторое число e . Найти сумму тех чле­нов ряда, модуль которых больше или равен заданному числу е, если общий член этого ряда имеет следующий вид: .. fugure:: img/ex_06_04.png :scale: 100% :align: center Решение оформить в виде функции **iter_cycle**, принимающей на вход вещественное число e и возвращающей сумму членов ряда (см. пример №3) Пример №5 (ex_06_05.cpp) '''''''''''''''''''''''''' Создать программу для "переворота" заданного целого числа. Решение оформить в виде функции **coup_number**. Функция принимает в качестве аргумента целое число, а возвращает "перевернутой" исходное число. .. code-block:: cpp int coup_number(int number) { int result=0; //... return result; } Решение: Количество разрядов числа заранее неизвестно. Поэтому для числа необходимо находить остаток от деления на 10, чтобы получить последнюю цифру числа. Эту цифру необходимо добавлять к новому числу, сдвинув разряды (умножить на 10 и добавить остаток), а исходное переопределить путем деления на 10. Пример №6 (ex_06_06.cpp) '''''''''''''''''''''''''' Из натурального числа удалить заданную цифру. Число и цифру вводить с клавиатуры. Например, задано число 5683. Требуется удалить из него цифру 8. Получится число 563. Решение оформить в виде функции **delete_digit**. Функция принимает в качестве аргумента целое число и удаляемую цифру, а возвращает исходное число без указанной цифры .. code-block:: cpp int delete_digit(int number, int digit) { int result=0; //... return result; } Решение: Задача усложняется тем, что заранее неизвестно количество разрядов числа. Поэтому исходное число проще начать проверять с конца с помощью оператора mod (нахождения остатка от деления). Делить надо на 10, чтобы получить последнюю цифру числа. Если последняя цифра не совпадает с цифрой, которую требуется удалить, то ее надо перенести в другое число, перед этим сдвинув его разряды. Легче реализовать, чтобы новое число формировалось наоборот: старшие разряды исходного будут младшими. После того, как заданная цифр будет удалена, число снова переворачивается.