Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1

Вычислить сумму ряда с ++

07.03.2021, 15:48. Показов 1549. Ответов 7

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstring>
using namespace std;
int main() {
    system("chcp 1251>nul");
    int i = 1;
    double x;
    cin >> x;
    double eps = 0.00001;
    double sum = 0;
    double lastElementofSequence = 1;
    do {
        sum += lastElementofSequence;
        lastElementofSequence *= -1 * x * (2 * i + 3) / (2 * i);
        i++;
    } while (fabs(lastElementofSequence) > eps);
    cout << sum << endl;
    system("pause>nul");
    return 0;
}
https://www.cyberforum.ru/cgi-bin/latex.cgi?S=\left(1+x \right)^{\frac{5}{2}}=\1-\frac{5}{2}x+\frac{5\cdot 7}{2\cdot 4}x^2-\frac{5\cdot 7\cdot 9}{2\cdot 4\cdot 6}x^3+\frac{5\cdot 7\cdot 9\cdot 11}{2\cdot 4\cdot 6\cdot 8}x^4-\dots\;,\;\left|x \right|\lt 1

Вот задача, и не могу никак понять как решить находя следующий слагаемое через предварительный !, а не каждый раз перечислять полностью и числитель и знаменатель.Не понимаю как это делать, думаю он расходится, но пока этот ряд следует и как его делать, буду благодарен за помощь
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.03.2021, 15:48
Ответы с готовыми решениями:

Подсчитать сумму членов ряда с точностью до 0.000001 и сумму первых 10 членов ряда
Добавлено через 10 часов 32 минуты Для ряда, члены которого вычисляются по формуле,...

Подсчитать сумму членов ряда с точностью до 0.000001 и сумму первых 10 членов ряда
Для ряда, члены которого вычисляются по формуле, приведенной в Вашем варианте индивидуальной...

Вычислить сумму ряда. Где-то напутал знаки или формула ряда не правильная. Посмотрите свежим взглядом.
Привет! Пишу простую контрольную, не могу понять, то ли я где-то со знаками туплю, то ли формула...

7
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
07.03.2021, 16:30  [ТС]
Дополнительное условие: если он расходится то завершить работу с соответствующим сообщением пользователю.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
07.03.2021, 17:39
Цитата Сообщение от matviiv Посмотреть сообщение
если он расходится
Имхо, это невозможно определить программным путем. Только математическим анализом.
Для этого хорошо бы выписать общий член ряда..

Добавлено через 5 минут
Попробуй обратиться в раздел https://www.cyberforum.ru/mathematical-analysis/

Добавлено через 7 минут
Такое ощущение, чтоб без формулы Стирлинга здесь не обойтись.
А общий член ряда имеет вид
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{(-1)^n (2n+1)!!}{ 2^n n!}\frac{}{}
На первый взгляд расходится

Добавлено через 2 минуты
Общий член тут дан с точностью до постоянного коэффициента, что не влияет на его сходимость...
1
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
07.03.2021, 18:06  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <cstring>
using namespace std;
int main() {
    system("chcp 1251>nul");
    int i = 1;
    int x;
    cin >> x;
    if (abs(x) >= 1) { cout << "ряд расходится"; }
    else {
        double eps = 0.000001;
        double sum = 0;
        double lastElementOfSequence=1;
        do {
            sum += lastElementOfSequence;
            lastElementOfSequence *= -1 * x * (2 * i + 3) / (2 * i);
             i++;
        } while (fabs(lastElementOfSequence) > eps);
        cout.precision(17);
        cout << "sum=" << sum << endl;
    }
    system("pause>nul");
    return 0;
}
Вот попробовал написать код, хз правильно или нет
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
07.03.2021, 20:43
Цитата Сообщение от matviiv Посмотреть сообщение
int x;
Это явная неточность. Только double. int в этой задаче не имеет смысла от слова совсем.
В остальном более-менее похоже на правду.
Но здесь это не главное.
Меня тут интересует вопрос сходимости, и несколько странная, если не сказать жесче, постановка задачи
Цитата Сообщение от matviiv Посмотреть сообщение
если он расходится то
Цитата Сообщение от matviiv Посмотреть сообщение
не могу никак понять как решить находя следующий слагаемое через предварительный !, а не каждый раз перечислять полностью и числитель и знаменатель
А вот тут ты на правильном пути... Так именно все обычно и делается. Рекурсивно-реккурентно
Но в случае расходимости программа зациклится.
1
 Аватар для matviiv
429 / 313 / 129
Регистрация: 09.02.2021
Сообщений: 1,096
Записей в блоге: 1
07.03.2021, 20:45  [ТС]
Ну вот щас код :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <cstring>
using namespace std;
int main() {
    system("chcp 1251>nul");
    int i = 1;
    double x;
    cin >> x;
    if (abs(x) >= 1) { cout << "Ряд розбіжний"; }
    else {
        double eps = 0.000001;
        double sum = 0;
        double lastElementOfSequence = 1;
        do {
            sum += lastElementOfSequence;
            lastElementOfSequence *=  -1 *x* ( 2*i + 3) / (2* i);
            i++;
        } while (fabs(lastElementOfSequence) > eps);
        cout.precision(17);
        cout << "sum=" << sum << endl;
    }
    system("pause>nul");
    return 0;
}
но чет не правильно ответ находит
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
07.03.2021, 21:51
Лучший ответ Сообщение было отмечено matviiv как решение

Решение

в коде ошибок нет, скорее всего опечатка в самой функции

Добавлено через 10 минут
да, потеряли минус в степени функции, нужно -5/2. чуть подправил синтаксис и дополнительно вывел значение функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <cmath>
using namespace std;
 
int main() 
{
    system("chcp 1251>nul");
    
    double x;
    cout << "|x|<1  x="; cin >> x;
 
    if (fabs(x)>=1.) cout << "ряд расходится" << endl;
    else {
        int i = 1;
        double eps = 0.00001, sum = 0., an = 1.;
        do {
            sum += an;
            an *= -x*(2*i+3)/(2*i);            
            i++;
        } while (fabs(an)>eps);
        
        cout << "sum=" << sum << "  " << 1./pow(1.+x,5./2.) << endl;
    }
    system("pause>nul");
    return 0;
}
Добавлено через 9 минут
не выводите столько знаков после запятой, потому что там уже будут ошибки в представлении числа,
вполне подойдёт обычный вывод
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
08.03.2021, 11:54
Прикинув вопрос о сходимости ряда, понял, он таки сходится при |x| < 1
даламберово отношение https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{a_{n+1}}{a_n} стремится к |x|
По дороге пришлось вывести (вспомнить) интересные соотношения для двойных факториалов
(2n)!! = 2n*n!
(2n-1)!! = (2n)!/ (2n)!!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.03.2021, 11:54
Помогаю со студенческими работами здесь

Вычислить сумму членов ряда с точностью до члена ряда, меньшего Е. Код есть, но ошибку не могу найти
Задание: Вычислить сумму членов ряда с точностью до члена ряда, меньшего Е. Формула: S= 1/(1*3) +...

Вычислить выражение включающее сумму ряда и произведение ряда
Всем привет! Есть условие такое: И есть код: #include &lt;cstdlib&gt; #include &lt;iostream&gt; using...

Вычислить значение выражения включающего сумму ряда и произведение ряда
Всем привет, я только начинающий в С++. Можете помочь с лабороторной? Сигма для меня это что-то...

Вычислить выражение включающее сумму ряда и произведение ряда
Помогите пожалуйста решить задачу

Сумма ряда/Вычислить приближенное значение элементарных функций как сумму ряда
Для начала, здравствуйте. У меня возникла проблема в понимании смысла задачи. А задача вот: ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru