Написать функцию быстрого возведения в степень - C (СИ)
Формулировка задачи:
9.
Напишите функцию быстрого возведения в степень, которая пользовалась бы следующими свойствами: an=(an/2)2 при четном n, an=a*an-1 при нечетном n. Подумайте, сколько умножений выполнит эта функция для вычисления an?Решение задачи: «Написать функцию быстрого возведения в степень»
textual
Листинг программы
template <typename T> double Stepen(T a, int b); int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, "rus"); float a; int b; printf("Введите число: "); scanf("%f", &a); printf("Введите степень: "); scanf("%d", &b); printf("Result: %.2f\n", Stepen(a, b)); return 0; } template <typename T> double Stepen(T a, int b); { int i, res = 1; for (i = 1; i <= b; i++) { res = res * a; } return res; }
Объяснение кода листинга программы
- Объявление функции быстрого возведения в степень
Stepen
- Ввод аргументов функции:
a
иb
- Вывод результата работы функции с точностью до 2 знаков после запятой
- Код функции
Stepen
- Инициализация переменных
i
иres
- Запуск цикла по всем значениям
i
от 1 доb
- Перемножение
res
иa
- Возврат результата
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д