Вычислить факториал - C (СИ) (149730)
Формулировка задачи:
Помогите разобраться. Я заплутался с факториалом. В гугле искал но посвюду саму систему факториала написано а как вводить єто в выражение я не знаю
Решение задачи: «Вычислить факториал»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
float a,x;
int vlfct;
int factorial(int count){
vlfct=1;
for (int i=1;i<=count;i++)
vlfct=vlfct*i;
return vlfct;
}
int main(int agrc,char *argv[]){
printf("Enter 'x': ");
scanf("%f",&x);
factorial(3);
a=x-pow(x,2)/vlfct;
factorial(5);
a+=pow(x,5)/vlfct;
printf("\na=x-(x^2/3!)+(x^5/5!)\n");
printf("a=%.2f-(%.2f^2/3!)+(%.2f^5/5!)\n",x,x,x);
printf("a=%.2f\n",a);
return 0;
}
Объяснение кода листинга программы
- Объявлены переменные:
a- для хранения результата вычисления арифметической прогрессииx- для ввода значения пользователемvlfct- для хранения значения факториала
- Определена функция
factorial, которая вычисляет факториал числа:- Инициализирует переменную
vlfctединицей - Использует цикл
forдля вычисления факториала числаcount - Выполняет умножение
vlfctна каждое значениеiот 1 доcount - Возвращает значение
vlfct
- Инициализирует переменную
- В функции
mainвыполняются следующие действия:- Выводится сообщение для ввода значения
x - Считывается значение
xс помощью функцииscanf - Вызывается функция
factorialс аргументом 3 для вычисления факториала 3 - Вычисляется арифметическая прогрессия
aс помощью формулыx - pow(x,2)/vlfct - Вызывается функция
factorialс аргументом 5 для вычисления факториала 5 - Вычисляется арифметическая прогрессия
aс помощью формулыa + pow(x,5)/vlfct - Выводится значение
aс помощью функцииprintf - Возвращается 0, чтобы указать успешный конец работы программы
- Выводится сообщение для ввода значения