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