0 / 0 / 0
Регистрация: 05.01.2012
Сообщений: 49
1

Бесконечные суммы

07.03.2012, 03:07. Показов 1354. Ответов 5
Метки нет (Все метки)

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


кое что написал, но это не правильно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <iomanip.h>
#include <cmath>
int main()
{
    int i;
    double r, memb;
    i = 0;
    r = 0;
    memb = static_cast<float>(1)/(3i-2)*(3i+1);
 
    cout << setprecision(10) << setiosflags(ios::fixed |
          ios::showpoint);
    do
    {
     r += memb;
memb = static_cast<float>(1)/(3i-2)*(3i+1);
 
    i++;
    } while (fabs(memb) >= 0.05);
     cout << "Rezultat s tochnostyu do eps = 0.05: "
       << r << endl;
}
Помогите написать программу.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2012, 03:07
Ответы с готовыми решениями:

Бесконечные суммы
И опять я по этой теме обращаюсь.. Как реализовать такую формулу? В ней чередуются +/-, заданная...

бесконечные последовательности
как описать цыкл от 0 до бесконечности???

Библиотека gmp.h, бесконечные числа
вопрос такой: как выводить числа, которые длинной больше 10 символов?как работает gmp_get_str?

Бесконечные адреса одной переменной. МоСК кипит...
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main()...

5
317 / 268 / 61
Регистрация: 12.10.2011
Сообщений: 434
07.03.2012, 11:23 2
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1}{1*4}+\frac{1}{4*7}+...+\frac{1}{(3n-2)*(3n+1)}+...=\frac{1}{3}*(\frac{1}{1}-\frac{1}{4})+\frac{1}{3}*(\frac{1}{4}-\frac{1}{7})+...+\frac{1}{3}*(\frac{1}{3n-2}-\frac{1}{3n+1})+...=\frac{1}{3}*(1-\frac{1}{4}+\frac{1}{4}-\frac{1}{7}+\frac{1}{7}-...)=\frac{1}{3}(1+0+0+0+...)=\frac{1}{3}
C
1
2
3
4
5
#include <iostream>
int main()
{
std::cout<<1.0/3;
}
2
Заблокирован
Автор FAQ
07.03.2012, 13:58 3
olhov94, прочитайте https://www.cyberforum.ru/faq/... ost2452211
кроме теории там код и уже некоторые выполненные на форуме сходные с вашим задания...

Добавлено через 2 минуты

Не по теме:

PS:golatin, а если с точностью до 1/20 сумму находить, точно 1/3 получится???

0
Заблокирован
Автор FAQ
07.03.2012, 14:18 4
Итак 2 варианта решения без итератора и с итератором
Вариант1 (без итератора)
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
27
28
29
#include <iostream>
#include <cmath>
using namespace std;
 
double an(unsigned long n)
{
        double ret = 1.0/((3*n - 2)*(3*n + 1));
        return ret;
}
 
int main()
{
        double err = 0;
        double sum = 0;
        double _an = 0;
        unsigned long i;
        while(true)
        {
                cout<<"Enter err : ";cin>>err;
                for(sum = 0, _an = an(i = 1);err < fabs(_an);i++)
                {
                        sum += _an;
                        _an = an(i + 1);
                }
                cout<<"sum = "<<sum<<endl;
                cout<<"iteration : "<<i<<endl;
        }
        return 0;
}
Код
Enter err : 0.05
sum = 0.25
iteration : 2
Enter err : 0.0005
sum = 0.326087
iteration : 16
Enter err : 0.00000005
sum = 0.333259
iteration : 1491
Enter err :
0
Заблокирован
Автор FAQ
07.03.2012, 15:13 5
Хоть данное задание проще считать без итератора всё таки выведем и его
https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n} = \frac{1}{(3*n - 2)*(3*n + 1)}
https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n + 1} = \frac{1}{(3*n + 1)*(3*n + 4)}
Вот наш итератор (корявый конечно, но ничего не поделаешь)
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{n + 1}}{{a}_{n}} = \frac{(3*n - 2)*(3*n + 1)}{(3*n + 1)*(3*n + 4)} = \frac{(3*n - 2)}{(3*n + 4)}

Вариант с итератором
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    double err = 0;
    double sum = 0;
    double _an = 0;
    unsigned long i;
    while(true)
    {
        cout<<"Enter err : ";cin>>err;
        for(sum = 0, i = 1, _an = 1.0/4;err < fabs(_an);i++)
        {
            sum += _an;
            _an *= (3*i - 2.0)/(3*i + 4.0);
        }
        cout<<"sum = "<<sum<<endl;
        cout<<"iteration : "<<i<<endl;
    }
    return 0;
}
Отработка
Enter err : 0.05
sum = 0.25
iteration : 2
Enter err : 0.00005
sum = 0.330986
iteration : 48
Enter err : 0.0000005
sum = 0.333098
iteration : 472
Enter err :

Добавлено через 3 минуты

Не по теме:

easybudda, больше спасибо что указал на мой просчёт!:senor:

0
0 / 0 / 0
Регистрация: 05.01.2012
Сообщений: 49
07.03.2012, 17:38  [ТС] 6
Спасибо за помощь
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2012, 17:38
Помогаю со студенческими работами здесь

Бесконечные циклы.
Довольно часто допускаются ошибки приводящие к бесконечным циклам. Только что такой бесконечный...

QThread бесконечные циклы
Всем привет! У меня такой, возможно, глупый вопрос Следующий код: Заголовочные файлы //класс,...

Бесконечные суммы
Сделать надо в c# Windows Form Скиньте архивом плз заранее спасибо:)

Бесконечные суммы
Помогите найти ошибку, пожалуйста. Код должен вычислить сумму пяти первых слагаемых по этой...

Бесконечные единицы
Возможно вопрос крайне туп, но почему при выполнении кода в консоли идет бесконеная колонна единиц?...

Бесконечные списки
Для заданного x определить последовательность: a0=0, a1=x an+1 =1/5*(an )2+x2/2*an-1


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru