Составить программу для вычисления выражения с заданной точностью - C (СИ) (74216)
Формулировка задачи:
Помогите пожалуйста составить программу для вычисления е = 1 +1 / 1! +1 / 2! +1 / 3! + ... с заданной точностью Ε
Решение задачи: «Составить программу для вычисления выражения с заданной точностью»
textual
Листинг программы
- #include <stdio.h>
- int factorial(int n) {
- if ( n > 1 ) {
- return factorial(n-1) * n;
- }
- if ( n < 0 ) {
- return -2;
- }
- return 1;
- }
- int main() {
- int e;
- float sum = 1.0;
- scanf("%d", &e);
- if ( e < 0 ) {
- return 0;
- }
- for ( int i = 1; i <= e; i++ ) {
- sum += 1.0 / factorial(i);
- }
- printf("%0.2f\n", sum);
- return 0;
- }
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Определяем функцию
factorial
, которая вычисляет факториал числа - Если число больше 1, то рекурсивно вызываем функцию
factorial
для вычисления факториала числа на единицу меньше и умножаем результат на само число - Если число меньше или равно нулю, то возвращаем -2
- Если число больше 1, то возвращаем 1
- В функции
main
определяем переменную типаint
для хранения числа e - Определяем переменную
sum
для хранения суммы чисел - Считываем число e с помощью функции
scanf
- Если число e меньше 0, то выходим из программы
- Используем цикл
for
для перебора чисел от 1 до e - Внутри цикла добавляем 1/факториал числа к переменной
sum
- Выводим значение переменной
sum
с помощью функцииprintf
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д