Найти сумму тех членов ряда, модуль которых больше или равен заданному e - C (СИ)
Формулировка задачи:
Даны числовой ряд и некоторое число e. Найти сумму тех членов ряда,модуль которых больше или равен заданному e. Общий член ряда имеет вид:
Решение задачи: «Найти сумму тех членов ряда, модуль которых больше или равен заданному e»
textual
Листинг программы
#include <stdio.h> #include <math.h> long unsigned fact(unsigned i) { if (i == 0) return 1; else return i*fact(i-1); } int main() { int n; double e, sum = 0.0; scanf("%d%lf",&n,&e); for(int i = 1; i <= n; i ++) { double a = pow(2,i)/fact(i-1); if (fabs(a) >= e) sum += a; } printf("%lf",sum); return 0; }
Объяснение кода листинга программы
В этом коде:
- Сначала мы включаем необходимые библиотеки: iostream для ввода-вывода и math.h для работы с математическими функциями.
- Затем определяем функцию fact, которая вычисляет факториал числа. Факториал числа i вычисляется как i*fact(i-1), если i не равно 0. Если i равно 0, то возвращается 1.
- В функции main мы объявляем переменные: n (количество членов ряда), e (пороговое значение модуля), sum (сумма членов ряда).
- Затем мы считываем значения переменных n и e с помощью функции scanf.
- Далее у нас есть цикл for, который начинается с 1 и идет до n. В каждой итерации вычисляется значение a как pow(2,i)/fact(i-1). Если модуль a больше или равен e, то a добавляется к sum.
- После завершения цикла мы выводим значение sum с помощью функции printf.
- Наконец, функция main возвращает 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д