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

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

05.12.2019, 09:15. Показов 908. Ответов 3
Метки нет (Все метки)

Не могу правильно написать рекурсию.
итеративный и рекурсивный алгоритм должны выдавать одинаковый результат
Название: хуйня.png
Просмотров: 16

Размер: 16.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
27
28
29
30
31
32
33
34
35
36
#include <iostream> 
#include <math.h> 
 
using namespace std; 
 
double rec(int); 
 
int main() 
{ 
setlocale(LC_ALL, "rus"); 
cout << "Эта программа вычислияет частичную сумму ряда." << endl; 
int k; 
double iter, y, N; 
cout << "Введите k: "; 
cin >> k; 
iter = 0; 
double an = 2.0; 
for (N = 1; N <= k; N++) { 
iter += an; 
an *= (N + 1.0) / ((2.0*N + 1.0)*2.*N); 
} 
y = rec(k); 
cout << "Итерационный цикл:" << iter << endl << "Рекурентная формула:" << y << endl; 
system("pause"); 
return 0; 
} 
 
double rec(int k) { 
if (k == 0) { 
return 0; 
} 
else { 
double an = 2.0; 
return rec(k - 1) +((k + 1.0) / ((2.0*k + 1.0)*2.*k))*an; 
} 
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2019, 09:15
Ответы с готовыми решениями:

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

Вычислить сумму четных и сумму нечетных чисел натурального ряда от 1 до N
Вычислить сумму четных и сумму нечетных чисел натурального ряда от 1 до N. Не могу найти где...

Вычислить сумму четных и сумму нечетных чисел натурального ряда от 1 до n
18 задача 1 лаба После удара о поверхность Земли мяч движется вертикально вверх со скорость 15...

Вычислить сумму ряда
Вычислить сумму ряда: - sum= 1+ 1/2^3+1/3^3...+1/50^3

3
Модератор
Эксперт С++
12126 / 9791 / 5916
Регистрация: 18.12.2011
Сообщений: 26,268
05.12.2019, 09:46 2
Лучший ответ Сообщение было отмечено AleXKul как решение

Решение

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream> 
using namespace std;
 
const double eps = 1e-6;
 
double rec(int k=1)
{
    static double s=0, ak = 2.0;
    if (k == 1)
    {
        ak = 2.0;
        s = 0;
    }
    if (fabs(ak)<eps)
        return s;
    s += ak;
    ak *=  (k + 1.0) / ((2.0*k + 1.0)*2.*k);
    return rec(k + 1);
}
 
double sum()
{
    double s = 0, ak = 2.0;
    int k=1;
    while (fabs(ak) >= eps)
    {
        s += ak;
        ak *= (k + 1.0) / ((2.0*k + 1.0)*2.*k);
        k++;
    }
    return s;
}
 
 
int main()
{
    setlocale(LC_ALL, "rus");
    cout << "Эта программа вычислияет частичную сумму ряда." << endl;
    double iter = rec();
    double y = sum();
    cout << "Итерационный цикл:" << iter << endl << "Рекурентная формула:" << y << endl;
    system("pause");
    return 0;
}
1
1 / 1 / 0
Регистрация: 02.12.2019
Сообщений: 10
05.12.2019, 09:56  [ТС] 3
Спасибо))
1
1 / 1 / 0
Регистрация: 02.12.2019
Сообщений: 10
06.12.2019, 12:02  [ТС] 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream> 
//#include <math.h> 
using namespace std;
 
const double eps = 1e-6;
 
void rec(double& s,double& ak,int k)
{
    if (fabs(ak)<eps)
        return;
    s += ak;
    ak *=  (k + 1.0) / ((2.0*k + 1.0)*2.*k);
    rec(s, ak, k + 1);
}
 
double sum(int k)
{
    double s = 0, ak = 2.0;
    while (fabs(ak) >= eps)
    {
        s += ak;
        ak *= (k + 1.0) / ((2.0*k + 1.0)*2.*k);
        k++;
    }
    return s;
}
 
 
int main()
{
    setlocale(LC_ALL, "rus");
    cout << "Эта программа вычислияет частичную сумму ряда." << endl;
    double iter = 0, ak = 2.0, y;
    int k=0;
    cin >> k;
    rec(iter,ak,k);
    cout << "Итерационный цикл:" << iter << endl << "Рекурентная формула:" << sum(k) << endl;
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2019, 12:02
Помогаю со студенческими работами здесь

Вычислить сумму ряда
Ребята помогите решить программу на С++. Для заданного натурального числа N и действительного числа...

Вычислить сумму ряда
Вычислить сумму ряда: ln(1-x)= -(Ʃот n=1 до ∞) x^n/n = -(x+ x^2/2+ x^4/4+ ...) -1&lt;=x&lt;1 ...

Вычислить сумму ряда
S = 1 - 1/3^3 + 1/5^3 - 1/7^3 + ... Очень нужна помощь!

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

Вычислить сумму ряда
Задано действительное число а, натуральное число n. вычислить: 1/a+1/a(a+1)+.+1/a(a+1).(a+n)...

Вычислить сумму ряда
Как решить это? я так понимаю через for но я не знаю как вообще такой пример решается(


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

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

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