Вычислить N! произведение всех натуральных чисел от 1 до N - C (СИ)

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

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

В чем ошибка кода?
Листинг программы
  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a,b,c;
  5. scanf("%d",&c);
  6. b=1;
  7. for(a=2;c;b=b*a)
  8. printf("%d",b);
  9. return 0;
  10. }

Решение задачи: «Вычислить N! произведение всех натуральных чисел от 1 до N»

textual
Листинг программы
  1. int fact (int n)
  2. {
  3.     return (n==1) ? 1: fact(n-1);
  4. }
  5.  
  6. int main
  7. {
  8.     int res = 0, n = 0;
  9.     scanf("%d", n);
  10.     res = fact(n);
  11.     printf("Result: %d", res);
  12.     return 0;
  13. }

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

  1. В функции fact(int n) реализован рекурсивный алгоритм вычисления факториала числа n.
  2. Если n равно 1, то функция возвращает 1.
  3. В противном случае, функция вызывает саму себя, передавая в качестве аргумента n-1, и результат этого вызова подставляет в качестве результата в текущий вызов функции.
  4. В функции main() объявлены две переменные: res и n.
  5. С помощью scanf() в переменную n считывается натуральное число, которое будет использоваться в качестве аргумента для функции fact().
  6. Результат вычисления факториала сохраняется в переменной res.
  7. С помощью printf() на экран выводится сообщение с результатом вычисления факториала.
  8. Функция main() возвращает 0, что означает успешный конец работы программы.

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


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

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

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы