Написать функцию быстрого возведения в степень - 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;
}

Объяснение кода листинга программы

  1. Объявление функции быстрого возведения в степень Stepen
  2. Ввод аргументов функции: a и b
  3. Вывод результата работы функции с точностью до 2 знаков после запятой
  4. Код функции Stepen
  5. Инициализация переменных i и res
  6. Запуск цикла по всем значениям i от 1 до b
  7. Перемножение res и a
  8. Возврат результата

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5
Похожие ответы