Найти сумму тех членов ряда, модуль которых больше или равен заданному 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;
}

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

В этом коде:

  1. Сначала мы включаем необходимые библиотеки: iostream для ввода-вывода и math.h для работы с математическими функциями.
  2. Затем определяем функцию fact, которая вычисляет факториал числа. Факториал числа i вычисляется как i*fact(i-1), если i не равно 0. Если i равно 0, то возвращается 1.
  3. В функции main мы объявляем переменные: n (количество членов ряда), e (пороговое значение модуля), sum (сумма членов ряда).
  4. Затем мы считываем значения переменных n и e с помощью функции scanf.
  5. Далее у нас есть цикл for, который начинается с 1 и идет до n. В каждой итерации вычисляется значение a как pow(2,i)/fact(i-1). Если модуль a больше или равен e, то a добавляется к sum.
  6. После завершения цикла мы выводим значение sum с помощью функции printf.
  7. Наконец, функция main возвращает 0, что означает успешный конец работы программы.

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


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

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

9   голосов , оценка 4 из 5
Похожие ответы