Описать рекурсивную функцию целого типа, вычисляющую значение двойного факториала - C (СИ)

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

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

Описать рекурсивную функцию целого типа, вычисляющую значение двойного факториала: N!! = 1•3•5•...•N, если N – нечётное, N!! = 2•4•6•...•N, если N – чётное. (N>0 целое). При N<=0 вывести сообщение об ошибке. Зарание спасибо

Решение задачи: «Описать рекурсивную функцию целого типа, вычисляющую значение двойного факториала»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. unsigned Factorial(int value)
  6. {
  7.     if(value == 1 || value == 2) return value;
  8.     else if(value > 2) return value * Factorial(value - 2);
  9.     else return 0;
  10. }
  11.  
  12. int main()
  13. {
  14.     int value, factr;
  15.  
  16.     printf("enter value: ");
  17.     scanf("%i", &value);
  18.    
  19.     if(factr = Factorial(value))
  20.         printf("factorial: %i\n", factr);
  21.     else
  22.         printf("input error");
  23.    
  24.     system("pause");
  25.  
  26.     return 0;
  27. }

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

  1. Подключение необходимых библиотек: iostream, cmath
  2. Определение функции Factorial(int value) для вычисления факториала числа
  3. Проверка условия: если значение числа равно 1 или 2, возврат этого значения
  4. Проверка условия: если значение числа больше 2, возврат произведения числа и значения функции Factorial(value — 2)
  5. Проверка условия: если значение функции Factorial(value) не равно 0, вывод значения факториала на экран
  6. Вывод сообщения об ошибке в случае неправильного ввода
  7. Ввод значения числа с клавиатуры
  8. Вызов функции Factorial(value) и присвоение результата переменной factr
  9. Проверка значения переменной factr
  10. Вывод сообщения об успешном выполнении программы

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


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

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

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

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

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

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