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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Harmonster
9 / 9 / 3
Регистрация: 20.05.2012
Сообщений: 101
#1

Вычислить сумму - C++

23.10.2013, 10:35. Просмотров 340. Ответов 4
Метки нет (Все метки)

Дано натуральное число n.
Вычислить:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{k=0}^{n} \frac{(-1)^k(k+1)}{k!}

Правильно-ли? Кто, что может подсказать?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
using namespace std;
 
int factorial(int n)
{
    int result=1;
    for (int i = 1; i <= n; i++)
        result = result * i; 
    return (result);
}
 
int main()
{
    int n;
    double result=0;
    cout << "n: ";
        cin >> n;
    for (int k = 0; k <= n; k++)
        result = result + ((pow(-1,k)*(k+1))/(factorial(k)));
    cout << result << endl;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2013, 10:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить сумму (C++):

Вычислить сумму четных и сумму нечетных чисел натурального ряда от 1 до N - C++
Вычислить сумму четных и сумму нечетных чисел натурального ряда от 1 до N. Не могу найти где ошибка ? #include &lt;iostream&gt; #include...

В массиве вычислить сумму отрицательных чисел и отдельную сумму положительных - C++
в массиве вычислить сумму отрицательных чисел и отдельную сумму положительных(мин 10 элементов) и еще :составить программу которая в...

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

Вычислить сумму сумму элементов, попадающих в заданный интервал - C++
Вычислить сумму сумму элементов, попадающих в заданный интервал. Границы интервала передавать в функцию в качестве параметров, полученную...

Вычислить в одномерном массиве вычислить сумму элементов массива... - C++
В одномерном массиве, состоящем из 10 целых элементов, вычислить сумму элементов массива, расположенных между первым и последними...

Ввести одномерный массив из n элементов. Вычислить сумму всех отрицательных чисел, их количество и сумму всех - C++
Ввести одномерный массив из n элементов. Вычислить сумму всех отрицательных чисел, их количество и сумму всех положительных чисел. Вот...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
es_
203 / 203 / 46
Регистрация: 14.01.2013
Сообщений: 455
23.10.2013, 10:53 #2
Да, всё верно.)
1
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,451
23.10.2013, 11:22 #3
Harmonster, на взгляд все верно.Но.
1. factorial лучше сделать как double. int очень быстро закончится...
2. Обрати внимание, что ты повторяешь вычисление уже вычисленного. 6! = 1*2*3*4*5*6, 7! = 1*2*3*4*5*6*7 - зачем? 7! = 7*6!
Лучше вычислять очередной член суммы на основании уже вычисленного предыдущего.
3. pow(-1,k) - как-то сомнительно выглядит. Некоторые трансляторы требуют положительного значения 1-го аргумента. Рекомендация пункта 2 снимает и эту проблему
1
Harmonster
9 / 9 / 3
Регистрация: 20.05.2012
Сообщений: 101
23.10.2013, 11:40  [ТС] #4
Цитата Сообщение от Байт Посмотреть сообщение
Harmonster, на взгляд все верно.Но.
1. factorial лучше сделать как double. int очень быстро закончится...
2. Обрати внимание, что ты повторяешь вычисление уже вычисленного. 6! = 1*2*3*4*5*6, 7! = 1*2*3*4*5*6*7 - зачем? 7! = 7*6!
Лучше вычислять очередной член суммы на основании уже вычисленного предыдущего.
3. pow(-1,k) - как-то сомнительно выглядит. Некоторые трансляторы требуют положительного значения 1-го аргумента. Рекомендация пункта 2 снимает и эту проблему
Спасибо за ответ!
1. Тут вопросов нету.
2. Как реализовать? С++ учу пару месяцев, знания минимальны. Можно даже название литературы.
3. А можно ли реализовать отдельную функцию (например extent) вычисляющую число X в степени Y? Я просто сомневаюсь что получится это, с отрицательными значениями.
0
Байт
Эксперт C
16061 / 10330 / 1540
Регистрация: 24.12.2010
Сообщений: 19,451
23.10.2013, 11:57 #5
Лови
C++
1
2
3
4
5
6
7
double s, a, d;
s = a = 1
for(k=1; k<=n; k++) {
  d = k;
  a *= (-1)*(d+1)/(d*d);
  s += a;
}
Если что-то тебя смутит, посмотри чему равно ak/ak-1

Добавлено через 3 минуты
Цитата Сообщение от Harmonster Посмотреть сообщение
А можно ли реализовать отдельную функцию (например extent) вычисляющую число X в степени Y?
Конечно! Можешь реализовать эту функцию для целых Y, Назвать ее double HarmonPow(double x, int Y) и не зависеть от капризов транслятора
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2013, 11:57
Привет! Вот еще темы с ответами:

Даны матрицы А(4,3) и В(3,5). Для каждой матрицы вычислить сумму элементов над главной диагональю. Ввод,вывод,сумму в виде отдельных процедур - C++
Завтра дедлайн, а у меня 2 лабы и начало первого. Прошу помощи.

Вычислить сумму - C++
Подскажите пожалуйста Пользуйтесь редактором формул внизу страницы. \sum_{k=0}^{n}\frac{1}{k!}

Вычислить сумму - C++
Дано натуральное числа N. Вычислить S=\sum_{i=1}^{N}\sum_{k=0}^{i}((i-k)/(i+k))

Вычислить сумму - C++
Вычислить с помощью вложенных циклов for \sum_{i=1}^{50}\sum_{j=1}^{50}(i+j) На Си++


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.10.2013, 11:57
Ответ Создать тему
Опции темы

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