Задачи с рекурсивными функциями и перегрузкой функций - C (СИ)
Формулировка задачи:
Здравствуйте, нужно доделать лабу, большинство задач сделала, а эти не могу, не знаю как делать. Помогите пожалуйста.
7. Составьте программу, которая в зависимости от входных данных переводит часы и минуты в минуты или минуты – в часы и минуты. Используйте перегруженные функции. Например, при вводе 134 мин будет выдано значение 2 час 14 мин, а при вводе 2 час 14 мин – значение 134 мин.
8. Разработайте программу вычисления an натуральной степени n вещественного числа a за наименьшее число операций.
9. Дано натуральное число, кратное 3. Получите сумму кубов цифр этого числа, затем сумму кубов цифр получившегося числа и т.д. Проверьте на нескольких примерах, действительно ли в конечном итоге получится 153.
Решение задачи: «Задачи с рекурсивными функциями и перегрузкой функций»
textual
Листинг программы
#include <iostream.h> double opt_pow(double x, int n) { double tmp; if (n==0) return 1; else if ((n % 2)==0) { tmp=opt_pow(x,(n/2)); return tmp*tmp; } else return x*opt_pow(x,(n-1)); } int main(int argc, char* argv[]) { double z; int n; cout << "z="; cin >> z; cout << "n="; cin >> n; cout << opt_pow(z,n) << endl; return 0; }
Объяснение кода листинга программы
- Включаем заголовочный файл iostream.h, который содержит определения стандартных потоков ввода-вывода
- Определяем функцию opt_pow, которая принимает два аргумента типа double и int. Первый аргумент x - это число, второй аргумент n - это целое число.
- Внутри функции opt_pow создаем переменную типа double с именем tmp.
- Проверяем условие n==0. Если оно истинно, то возвращаем 1.
- Если условие n==0 не выполняется, то проверяем условие (n % 2)==0. Если оно истинно, то выполняем следующие действия:
- Вызываем функцию opt_pow с аргументами x и (n/2) и сохраняем результат в переменную tmp.
- Возвращаем значение tmp*tmp.
- Если условие (n % 2)==0 не выполняется, то возвращаем значение x*opt_pow(x,(n-1)).
- В функции main считываем значения переменных z и n с помощью функции cin.
- Выводим значение переменной z с помощью функции cout.
- Выводим значение переменной n с помощью функции cout.
- Вызываем функцию opt_pow с аргументами z и n и выводим результат с помощью функции cout.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д