Форум программистов, компьютерный форум CyberForum.ru

рекурсия для расчета суммы - C++

Восстановить пароль Регистрация
 
No0b41k
 Аватар для No0b41k
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 68
13.02.2011, 01:28     рекурсия для расчета суммы #1
Пожалуйста, помогите разобраться и написать программу:

Использовать рекурсию для расчета суммы 2+1/(2!) + 1/(3!) +...+1/(N!). (выражение "N!" - обозначает произведение всех целых чисел от 1 до N: N! = 1 * 2 * ... * N). Полученное число является приближенным значением константы e = exp(1) (=2,718281...). Количество членов последовательности задается пользователем как аргумент функции.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2011, 01:28     рекурсия для расчета суммы
Посмотрите здесь:

C++ Составить программу расчета суммы
Составьте программу, которая содержит оператор while, для расчета суммы целых чисел в диапазоне от а до b C++
Рекурсивная функция для расчета суммы всех двузначных чисел C++
C++ определить число членов ряда, необходимых для расчета с заданной погрешностью суммы членов ряда:
C++ Определить функцию для расчета суммы цифр натурального числа. Входной параметр – число. Возвращаемое значение – сумма.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
13.02.2011, 01:39     рекурсия для расчета суммы #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
                                   
#include <cstdio>
 
const double PRECISION=1e-6;
 
double _exp( double dVal, double dTemp, double dX, unsigned uStep ){
  dTemp = dTemp * dX / (uStep);
  if( dTemp > PRECISION ){
    return _exp( dVal + dTemp, dTemp, dX, ++uStep );
  }else{
    return dVal;
  }
}
 
int main(){
  printf( "%f\n", _exp( 1.0, 1.0, 1.0, 1 ) );
}
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
13.02.2011, 01:59     рекурсия для расчета суммы #3
C++
1
2
3
4
5
6
7
double exp(const int &i, const int &n, unsigned f = 1) {
    return i == 1
        ? 2 + exp(i + 1, n, f)
        : (i < n
            ? 1 / (f * i) + exp(i + 1, n, f * i)
            : 0);
}
Добавлено через 15 минут
http://codepad.org/8fUtsZ61
No0b41k
 Аватар для No0b41k
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 68
13.02.2011, 10:03  [ТС]     рекурсия для расчета суммы #4
пожалуйста, вы бы могли прокомментировать код, спасибо.
No0b41k
 Аватар для No0b41k
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 68
15.02.2011, 19:40  [ТС]     рекурсия для расчета суммы #5
простите, но в данных случаях не возможно задать пользователем кол-во членов последовательности, как аргумент функции. как это добавить:?
Yandex
Объявления
15.02.2011, 19:40     рекурсия для расчета суммы
Ответ Создать тему
Опции темы

Текущее время: 21:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru