Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
kryasan
-22 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 38
1

Рекурсивная функция вычисления суммы бесконечного ряда

28.02.2012, 12:13. Просмотров 1269. Ответов 8
Метки нет (Все метки)

Всем привет) Объясните кто нибудь как это можно сделать?)
0
Миниатюры
Рекурсивная функция вычисления суммы бесконечного ряда  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2012, 12:13
Ответы с готовыми решениями:

Рекурсивная функция для вычисления суммы ряда
помогите вычислить сумму с использованием рекурсивной функции. Программу...

Рекурсивная функция суммы ряда
Написать рекурсивную программу, которая считала бы сумму элементов следующего...

Рекурсивная функция для нахождения суммы ряда
Создайте рекурсивную функцию для нахождения суммы s=Σ(x^n/n) выдает...

Программа вычисления суммы членов бесконечного числового ряда
Здравствуйте. Нужна помощь в такой задаче. Не могу разобраться в ней....

Составить программу для вычисления суммы бесконечного ряда с погрешностью
Составить программу для вычисления суммы бесконечного ряда с погрешностью ε =...

8
Roof
154 / 154 / 44
Регистрация: 03.11.2010
Сообщений: 393
28.02.2012, 14:17 2
На сколько я понял требуется вычислить с помощью ряда значение cos( pi / 6 ).
Вот мое решение.
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 <cmath>
#include <cstdio>
using namespace std;
 
#define EPS 5E-4
// Если компилятор не знает что такое M_PI, то раскомментировать следующую строку
//#define M_PI 3.14159265358979323846
 
unsigned factorial( unsigned n ) {
    if ( n <= 1 )
        return 1;
    return ( n * factorial( n - 1 ) );
}
 
double cos_series_pi_6( double eps ) {
    static unsigned n = 0;
    ++n;
 
    double curr = pow( -1, n ) * pow( ( M_PI / 6 ), 2 * n )
            / factorial( 2 * n );
 
    if ( abs( curr ) < eps )
        return 1;
 
    return curr + cos_series_pi_6( eps );
 
}
 
int main() {
    // вычисляем pi/6
    cout << cos( M_PI / 6 ) << endl; // с помощью библиотечной функции
    cout << cos_series_pi_6( EPS ) << endl; // с помощью нашей функции
 
    return 0;
}
Консоль
0.866025
0.866054
1
kryasan
-22 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 38
28.02.2012, 14:37  [ТС] 3
пишет pow: неоднозначный вызов перегруженной функции
0
Roof
154 / 154 / 44
Регистрация: 03.11.2010
Сообщений: 393
28.02.2012, 14:59 4
А у меня ничего не пишет.
К тому же в cmath прототип есть функции pow(_Tp __x, _Up __y)

Не по теме:

компилятор gcc, среда eclipse.



Добавлено через 4 минуты
Попробуйте использовать так:
C++
1
pow( (double) value, power )
соответственно вместо value и power подставив переменные или значения, используемые в коде программы.
1
kryasan
-22 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 38
28.02.2012, 15:07  [ТС] 5
в 20 строке придиралось к первому и второму pow, сейчас только ко второму
0
Roof
154 / 154 / 44
Регистрация: 03.11.2010
Сообщений: 393
28.02.2012, 15:15 6
Не знаю что у Вас за компилятор, для меня странно, что он выводит предупреждения на данную строку.
Пробуйте так:
C++
1
double curr = pow( -1.0, n ) * pow( ( double )( M_PI / 6 ), 2 * n )
1
MrCold
861 / 759 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
28.02.2012, 15:17 7
C++
1
double curr = pow( -1.0, (double)n ) * pow( ( M_PI / 6.0 ), 2.0 * n )
под MSVS
1
kryasan
-22 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 38
28.02.2012, 15:19  [ТС] 8
все равно ругается

Добавлено через 1 минуту
Цитата Сообщение от MrCold Посмотреть сообщение
double curr = pow( -1.0, (double)n ) * pow( ( M_PI / 6.0 ), 2.0 * n )
спасибо, теперь все работает)
0
Roof
28.02.2012, 15:29     Рекурсивная функция вычисления суммы бесконечного ряда
  #9

Не по теме:

Ух ты, показатель не может быть целым числом, очень интересно какой логикой руководствовались создатели?

0
28.02.2012, 15:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2012, 15:29
Привет! Вот еще темы с ответами:

Составить программу для вычисления суммы бесконечного ряда с погрешностью
Составить программу для вычисления суммы бесконечного ряда...

Рекурсивная функция для вычисления суммы элементов арифметической прогрессии
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int pr(int n, int a1, int d,int sum)...

Написать программу и рекурсивную функцию для вычисления значения суммы бесконечного ряда с заданной точностью
Написать программу и рекурсивную функцию для вычисления значения суммы...


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

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

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