Написать рекурсивную функцию для вычисления факториала с помощью цикла - C (СИ)
Формулировка задачи:
Написать текст программы на языке Си, которая должна по введенным данным a и b посчитать a!+b!...Результат вывести на экран .Программа должна содержать Ж
1.Глобальные переменные a и b типа int;
2.Функцию для ввода значений a и b c клавиатуры;
3.Рекурсивную функцию для вычисления факториала;
4.Рекурсивную функцию для вычисления факториала с помощью цикла;
5.Функцию для ввода полученного результата на кран ;
6.Главную функцию, в которой используются все созданные функции.
Решение задачи: «Написать рекурсивную функцию для вычисления факториала с помощью цикла»
textual
Листинг программы
long factRecursion(unsigned int arg){
Объяснение кода листинга программы
- Заголовок функции
factRecursion
говорит о том, что это рекурсивная функция для вычисления факториала. - Переменная
arg
принимает на вход значение факториала, которое нужно вычислить. - В условии
if (arg == 0)
проверяется, является ли значение переменнойarg
равным нулю. - Если условие истинно, то возвращается значение 1, так как факториал от 0 и 1 равен 1.
- Если условие ложно, то выполняется блок кода в фигурных скобках, который является телом функции.
- В цикле
for (long i = 1; i <= arg; i++)
происходит вычисление факториала с помощью цикла. - Внутри цикла происходит вызов рекурсивной функции
factRecursion
с аргументомi
. - Значение аргумента уменьшается на единицу после каждого вызова рекурсивной функции.
- Значение переменной
result
увеличивается на произведение текущего значения переменнойarg
и результата вызова рекурсивной функции. - После окончания цикла возвращается значение переменной
result
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д