Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/55: Рейтинг темы: голосов - 55, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 21.11.2015
Сообщений: 1
1

Вычисление суммы ряда

21.12.2018, 16:00. Показов 10482. Ответов 5

Задание: Написать программу вычисления суммы:
https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
S(n)=\sum_{i=1}^{n}\frac{2i}{n!}<br />
В программе использовать функции. В основной программе вычислить S(n) для n от 12 до 24 с шагом 4.
Составил следующую программу на С++ в компиляторе Dev C++ 5.11.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;
 
long long fact(int n) //факториал
{if((n==1) || (n==0)) return 1;
    else return n*fact(n-1);}
 
 
 main(){
    double sum;
    for(int n=12;n<=24;n+=4){
        for(int i=1;i<=n;i++){
          sum=sum+2*i/fact(n);}
         cout<<"s("<<n<<")="<<sum<<endl;
     }
     cout<<fact(24);
     return 0;
 }
При запуске программы в ответе получаются одни нули. В чем же здесь ошибка? Помогите найти ошибку.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2018, 16:00
Ответы с готовыми решениями:

вычисление суммы ряда
Условие http://img143.imageshack.us/img143/4586/93396673.jpg И вот мой код, подскажите в чем...

Вычисление суммы ряда
Народ, помогите пожалуйста. Всё это сделать нужно на обычном си Три программы: 1) Вычисление...

Вычисление суммы ряда в C++
Помогите пожалуйста балбеске написать программу вычисления суммы ряда \sum_{n=1}^{10} n / (4n^2-1)

Вычисление суммы ряда
Пожалуйста помогите написать программу для вычисления суммы ряда sinx=...

5
Модератор
Эксперт CЭксперт С++
5096 / 4523 / 851
Регистрация: 07.10.2015
Сообщений: 9,452
21.12.2018, 16:22 2
Рустам Саидов, во-первых, переменную суммы надо предварительно обнулять
во-вторых, целочисленное деление на n! даст 0, поэтому и сумма будет всегда равна 0
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main() {
    double sum, d;
    for (int n = 12;n <= 24;n += 4) {
        sum = 0;
        d = (double)fact(n);
        for (int i = 1;i <= n;i++) {
            sum = sum + 2 * i / d;
        }
        cout << "s(" << n << ")=" << sum << endl;
    }
    return 0;
}
0
Модератор
Эксперт С++
11482 / 9400 / 5649
Регистрация: 18.12.2011
Сообщений: 25,114
21.12.2018, 17:35 3
Я думаю, там имелось ввиду i! а не n! (иначе его действительно можно вынести за знак суммы).
Соответственно, надо использовать рекуррентные соотношения
C++
1
2
3
4
5
6
sum = 0;
double an=2.0;
for (int i = 1;i <= n;i++) {
   sum+=an;
   an/=i;
;
0
Модератор
Эксперт CЭксперт С++
5096 / 4523 / 851
Регистрация: 07.10.2015
Сообщений: 9,452
21.12.2018, 17:41 4
zss, при i! i сокращается. Тоже, как бы, не комильфо
0
Модератор
Эксперт С++
11482 / 9400 / 5649
Регистрация: 18.12.2011
Сообщений: 25,114
21.12.2018, 18:13 5
я его и сократил в рекуррентной формуле
0
Модератор
Эксперт CЭксперт С++
5096 / 4523 / 851
Регистрация: 07.10.2015
Сообщений: 9,452
21.12.2018, 18:20 6
zss, но в исходной-то есть... Короче, вопрос к ТС
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2018, 18:20

Вычисление суммы ряда
Есть задание во вложении. Нужно найти значение суммы. Я прописываю библиотеки. Мне нужен весь...

Вычисление суммы ряда
Вычислить \sum_{i=1}^{\propto }i^2 пока S&lt;50 с помощью цикла while

Вычисление суммы ряда (2*i -1)^3
Написать программу для вычисления суммы слагаемых Si = 1^3 + 3^3 + 5^3 + ... + (2*i -1)^3 ...

Вычисление суммы ряда
Помогите, задали задание написать программу. Пользователь вводит значение 2-х переменных: х-угол и...


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

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

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