Рекурсивное вычисление степени в языке C

CBeginner
Практиковаться сейчас

Введение

В этом лабораторном занятии мы научимся вычислять результат возведения заданного числа в степень n с использованием рекурсии в языке программирования C.

Создать файл на языке C

Создайте новый файл с именем main.c в директории ~/project/. Именно здесь мы напишем наш код на языке C.

Объявить прототип функции

Функция power() принимает два целых числа в качестве входных данных и возвращает значение после выполнения операции возведения в степень.

int power(int base, int exponent);

Определить функцию power()

Функция power() выполняет операцию возведения в степень, вызывая саму себя рекурсивно. Если показатель степени равен нулю, функция возвращает 1. В противном случае она возвращает значение основания, умноженное на результат вызова функции power() с тем же основанием и показателем степени, уменьшенным на единицу.

int power(int base, int exponent)
{
    if(exponent == 0) // Базовый случай
        return 1;
    else
        return base * power(base, exponent - 1); // Рекурсивный случай
}

Получить ввод от пользователя и вызвать функцию power()

Получите основание и показатель степени от пользователя с помощью функции scanf(), а затем передайте их в качестве аргументов в функцию power(). В конце выведите результат с использованием функции printf().

int main()
{
    int base, exponent, result;

    printf("Enter the base: ");
    scanf("%d", &base);

    printf("Enter the exponent: ");
    scanf("%d", &exponent);

    result = power(base, exponent);

    printf("%d^%d = %d", base, exponent, result);

    return 0;
}

Скомпилировать и запустить код

Сохраните изменения и скомпилируйте программу с использованием компилятора gcc следующим образом:

gcc main.c -o main

Теперь запустите программу, введя следующую команду в терминале:

./main

Вывод

Вывод будет отображать результат возведения основания в степень, которую ввел пользователь.

Резюме

В этом практическом занятии (лабораторной работе) мы научились вычислять число, возведенное в степень n, с использованием рекурсии в программировании на языке C. Мы добились этого, используя рекурсивную функцию, которая вызывает саму себя до тех пор, пока не достигнет базового случая, когда показатель степени равен нулю, и затем возвращает значение 1. Мы сохранили значения, полученные из рекурсивной функции, в переменной и отобразили их пользователю с помощью функции printf().

Функция power() может быть использована для возведения любого числа в заданную степень в программировании на языке C.