Нахождение факториала числа на C

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

Введение

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

Примечание: вам нужно самостоятельно создать файл ~/project/main.c, чтобы практиковаться в написании кода и узнать, как компилировать и запускать его с использованием gcc.

cd ~/project
## создать main.c
touch main.c
## скомпилировать main.c
gcc main.c -o main
## запустить main
./main

Понимание факториала

Факториал числа (обозначается как n!) для числа (скажем n) представляет собой произведение всех чисел, предшествующих n, на само число. Мы можем сказать, что:

!n = n *!(n - 1)

Например:

!6 = 6 * 5 * 4 * 3 * 2 * 1 = 720
!12 = 12 * 11 * 10 * 9 * 8 * 7 *!6 = 479 001 600

Важные аспекты:

  • Факториал 0 равен 1.
  • Факториал отрицательных чисел не существует.

Написание алгоритма

Следуйте следующим шагам для программы нахождения факториала:

  1. Объявите переменные n и fact = 1. n - это число, факториал которого необходимо вычислить, а fact - переменная, в которой мы будем хранить результат.
  2. Считайте ввод от пользователя в n.
  3. Инициализируйте итератор цикла i = 1 и запустите цикл до тех пор, пока i <= n.
  4. В каждой итерации цикла выполните следующее:
    • fact = fact * i
    • i++
  5. Выведите fact.

Написание программы на C

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

#include<stdio.h>
int main()
{
    int n,i;
    long int fact=1;
    printf("Enter the number: ");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        fact=fact*i;    // calculating factorial
    }
    printf("Factorial of %d is %ld",n,fact);
    return 0;
}

Тестирование программы

Протестируем нашу программу, запустив ее и проверив вывод.

Enter the number: 5
Factorial of 5 is 120

Финальная программа

Вот финальная программа, которая находит факториал числа с использованием цикла for:

#include<stdio.h>
int main()
{
    int n,i;
    long int fact=1;
    printf("Enter the number: ");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        fact=fact*i;    // calculating factorial
    }
    printf("Factorial of %d is %ld",n,fact);
    return 0;
}

Резюме

В этом практическом занятии мы научились писать программу на C для нахождения факториала числа с использованием цикла for. Мы использовали простой алгоритм и последовательным шаговым процессом достигли нашей цели. Программа получает ввод от пользователя, вычисляет факториал с использованием цикла и выводит результат на экран. Мы рассмотрели некоторые важные аспекты, такие как инициализация переменных и ограничения типов данных int и long int.