Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 1
1

Сумма бесконечного ряда с факториалом и с заданной точностью

22.02.2019, 13:53. Показов 2745. Ответов 2
Метки нет (Все метки)

Сначала надо найти сумму ряда чисел с заданной точностью 0.0001:

https://www.cyberforum.ru/cgi-bin/latex.cgi?1 + x + \frac{{x}^{1}}{!1} + \frac{{x}^{2}}{!2} + .. + \frac{{x}^{n}}{!n} + ..

Где x вводится с клавиатуры. В конце нужно вывести модуль разности между библиотечной функции exp(x) и полученным значением суммы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.c>
 
using namespace std;
 
int main() { 
    double sum = 1.0, current = 1, x;
    int i = 0;
    long long F = 1;
    cin >> x;
    while (abs(current)>= 0.0001) {
        F *= ++i;
        current = pow(x, i)/ F*1.0;
        sum += current;
    }
    cout.precision(6);
    cout << fixed << abs(exp(x) - sum);
    return 0;
}
Проблема в том, что я не могу брать значения x больше 5, так как переменная с факториалом переполняется и цикл повторяется вечно.
Вопрос, как можно изменить тело цикла, так чтобы программа не выполнялась вечно?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2019, 13:53
Ответы с готовыми решениями:

Сумма бесконечного ряда с заданной точностью
как реализовать сумму бесконечного ряда? посмотрел пару примеров не понял \sum_{n=0}^{\propto...

Сумма бесконечного ряда с заданной точностью
Написать программу вычисления суммы бесконечного ряда с точностью eps=0.001: ...

Сумма членов бесконечного ряда с заданной точностью
Пожалуйста, помогите исправить мой код! Задание: найти сумму членов бесконечного ряда с заданной...

Сумма бесконечного ряда с факториалом
Найти сумму ряда с заданной точностью e = 0,001, общий член которого: a = n! / pow(n,n) Проблема...

2
5957 / 4046 / 2344
Регистрация: 18.12.2017
Сообщений: 12,647
22.02.2019, 14:15 2
Лучший ответ Сообщение было отмечено GenuinePledge как решение

Решение

GenuinePledge, такие задачи решаются через рекуррентные соотношения
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{    
    int n=0;    
    double x, eps=0.0001, an=1.0, S=0.0;        
    cout << "x="; cin >> x;
    
    while(fabs(an)>eps)
        {
           S+=an;
           n++;
           an*=x/n;                      
        }  
        
    cout << S << "  " << exp(x) << "  " << fabs(S-exp(x)) << "\n";    
    
system("pause");
return 0;
}
1
33 / 32 / 9
Регистрация: 16.04.2015
Сообщений: 275
22.02.2019, 14:26 3
А зачем вычислять факториал?
Нужно же вычислять члены ряда. Если член ряда меньше 0.0001 , значит требуемая точность достигнута и дальше вычислять члены ряда не нужно.

А члены ряда вычисляются просто: возводите x в степень, получаете X. После чего последовательно делите X на 1, 2, 3, 4, 5.. (пока частное > 0.0001 или не закончится делитель).
*не знаю, понятно ли я объяснил.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2019, 14:26

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Сумма бесконечного ряда с факториалом
Не понимаю как записать факториал в c++, да и упростить как.

Вычисление бесконечного ряда с заданной точностью
Доброй ночи. Сейчас столкнулся с неприятной ситуацией, в задаче, которая казалось бы полностью...

Функция бесконечного ряда Тейлора с заданной точностью на С
Помогите написать программу. Находил примеры, но не могу понять как сделать с бесконечностью. ...

Вычислить сумму бесконечного ряда с заданной точностью
Здравствуйте, пожалуйста, помогите найти ошибку в программе, которая должна находить сумму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.