Нахождение факториала с использованием рекурсии

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

Введение

В этом практическом занятии мы научимся находить факториал заданного числа с использованием рекурсии в языке программирования C. Факториал обозначается символом '!' и представляет собой произведение всех положительных целых чисел, меньших или равных заданному числу. Например, факториал числа 5 равен 5 x 4 x 3 x 2 x 1 = 120.

Инициализировать функцию main()

В функции main мы объявляем переменные для хранения введенного значения и вычисленного факториала. Затем мы просим пользователя ввести значение, для которого будет найден факториал.

#include <stdio.h>

int main()
{
    int num, factorial;
    printf("Enter a number: ");
    scanf("%d", &num);
}

Создать функцию для вычисления факториала с использованием рекурсии

Теперь мы создадим функцию под названием "factorial", которая принимает целочисленный параметр "num" и возвращает целочисленное значение. В этой функции мы будем использовать рекурсию для вычисления факториала заданного числа. Если значение заданного числа равно 1 или 0, мы вернем 1, так как факториал обоих значений равен 1. Если заданное число больше 1, мы вычислим его факториал с использованием рекурсии и вернем значение.

int factorial(int num)
{
    if(num == 0 || num == 1)
    {
        return 1;
    }
    else
    {
        return num * factorial(num-1);
    }
}

Вызвать функцию факториала в функции main и вывести результат

Теперь мы вызовем функцию "factorial" внутри функции "main" и передадим введенное значение в качестве параметра. Затем мы сохраним возвращаемое значение в переменную "factorial" и выведем результат в консоль.

#include <stdio.h>

int factorial(int num);

int main()
{
    int num, factorial;
    printf("Enter a number: ");
    scanf("%d", &num);

    factorial = fact(num);
    printf("Factorial of %d is %d", num, factorial);

    return 0;
}

Компилировать и запустить программу

Теперь, когда программа написана, сохраните файл под именем'main.c' в директории '~/project/'. Откройте терминал и перейдите в директорию, содержащую файл'main.c'. Используйте следующую команду для компиляции программы:

gcc main.c -o main

После успешной компиляции программы используйте следующую команду для запуска программы:

./main

Полный код файла'main.c'

Используйте этот код в качестве ссылки при необходимости.

#include <stdio.h>

int factorial(int num);

int main()
{
    int num, factorial;
    printf("Enter a number: ");
    scanf("%d", &num);

    factorial = factorial(num);
    printf("Factorial of %d is %d", num, factorial);

    return 0;
}

int factorial(int num)
{
    if(num == 0 || num == 1)
    {
        return 1;
    }
    else
    {
        return num * factorial(num-1);
    }
}

Резюме

В этом практическом занятии мы узнали, как вычислять факториал заданного числа с использованием рекурсии на C. Мы создали функцию, которая использует рекурсию для нахождения факториала, и функцию main для ввода числа и вызова функции факториала.