По заданному числу n вычислите значение n! - C (СИ)

Узнай цену своей работы

Формулировка задачи:

3. По заданному числу n вычислите значение n!.

Решение задачи: «По заданному числу n вычислите значение n!»

textual
Листинг программы
#include <stdio.h>
 
unsigned long int fact(int x){ return (x == 1) ? 1 : x*fact(x-1); }
 
int main(void)
{
    int n;
    printf("n = ");
    scanf("%d", &n);
    if (n < 1) return -1;
 
    printf("%d! = %lu\n", n, fact(n));
    return 0;
}

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

В этом коде:

  1. В функции fact(x) используется рекурсия для вычисления факториала числа x. Если x равно 1, функция возвращает 1. В противном случае, она вызывает саму себя с аргументом x-1 и результатом этого вызова умножает x.
  2. В функции main() программа запрашивает у пользователя ввод числа n и сохраняет его в переменную n.
  3. Если n меньше 1, программа завершается с кодом -1.
  4. В противном случае, программа вызывает функцию fact(n) и выводит результат на экран.
  5. Значение n! (факториал n) вычисляется с помощью функции fact(n) и сохраняется в переменную fact(n).
  6. Программа завершается без ошибок. Код:
  7. Включает файл , который содержит функции для ввода и вывода данных.
  8. Определяет функцию fact(x) для вычисления факториала числа x.
  9. Определяет функцию main(), которая является точкой входа в программу.
  10. Создает переменную типа int с именем n для хранения числа, введенного пользователем.
  11. Выводит на экран сообщение n = и запрашивает у пользователя ввод числа n с помощью функции scanf().
  12. Проверяет, что пользователь ввел число, большее или равное 1. Если это не так, программа завершается с кодом -1.
  13. Вызывает функцию fact(n) и сохраняет результат в переменную fact(n).
  14. Выводит на экран сообщение n! = и значение fact(n).
  15. Программа завершается без ошибок.

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


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

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

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