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

Найти сумму членов арифметической прогрессии - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.85
emiln00b
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 32
12.04.2013, 16:15     Найти сумму членов арифметической прогрессии #1
Найти сумму членов арифметической прогрессии a, a+d,...,a+(n-1)d
по введенным значениям a,d,n.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <conio.h>
#include <math.h>
int main()
{
clrscr();
int a,d,n,sum;
cout<<"vvedite a"<<endl;
cin>>a;
cout<<"vvedite d"<<endl;
cin>>d;
cout<<"vvedite n"<<endl;
cin>>n;
sum=(a+n*d)*(a+n*d-d);
cout<<sum;
getch();
}
Правильно ли? Особенно интересует вот эта строчка "sum=(a+n*d)*(a+n*d-d)".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2013, 16:15     Найти сумму членов арифметической прогрессии
Посмотрите здесь:

C++ Написать программу для нахождения суммы членов арифметической прогрессии
C++ Заполнить массив первыми 10 членами арифметической прогрессии с известным первым членом прогрессии А и разницей Р.
Программа вычисляющая сумму первых n членов арифметической прогрессии C++
Вывести первые 10 членов арифметической прогрессии C++
C++ Программа вычисляющая сумму первых 150 членов арифметической прогрессии
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nullpointer
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
12.04.2013, 19:25     Найти сумму членов арифметической прогрессии #2
Если я правильно понял, то нужно посчитать сумму первых n членов данного ряда? Если да, то тогда это делается так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main(){
    int n = 0;
    float a = 0.0;
    float d = 0.0;
    float sum = 0.0;
 
    cin >> a >> d >> n;
    cout << endl;
    for (int i = 1; i <= n; i++){
        sum += a + (i - 1) * d;
        cout << sum << endl;
    }
    
    system("pause");
}
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
12.04.2013, 20:00     Найти сумму членов арифметической прогрессии #3
В данной прогресии n членов. Воспользовавшись идеей Гаусса, мы увидим, что суммы противостоящих членов этой прогрессии (первая и последняя, вторая и предпоследняя) равны одному и тому же числу, 2*a + d*(n-1). В общей сумме складываются n/2 таких чисел, что даёт нам sum = n*(2*a + d*(n-1))/2
w8me
496 / 11 / 1
Регистрация: 10.04.2013
Сообщений: 44
12.04.2013, 20:02     Найти сумму членов арифметической прогрессии #4
Сумма арифм прогрессии
C++
1
sum=(2*a+(n-1)*d)/2*n;
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
12.04.2013, 20:03     Найти сумму членов арифметической прогрессии #5
}{@k,
Зачем циклы? есть готовая формула


emiln00b,
C++
1
#include <iostream.h>
да ладно вам шутить... просто
C++
1
#include <iostream>
C++
1
clrscr();
это вообще что-то паскалевское, явно не из стандарта
и где return у int main()?

Особенно интересует вот эта строчка "sum=(a+n*d)*(a+n*d-d)"
и хорошо, что она вас волнует, правильно будет
sum=n*(2*a+(n-1)*d)/2;

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cmath>
#include <conio.h>
 
using namespace std;
int main()
{
 
int a,d,n,sum;
cout<<"vvedite a"<<endl;
cin>>a;
cout<<"vvedite d"<<endl;
cin>>d;
cout<<"vvedite n"<<endl;
cin>>n;
sum=n*(2*a+(n-1)*d)/2;
cout<<sum;
getch();
return 0;
}
nullpointer
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
12.04.2013, 22:03     Найти сумму членов арифметической прогрессии #6
abit, что то я после написания программы для расчета 6-мерного интеграла забыл про формулу и сразу начал цикл писать
Yandex
Объявления
12.04.2013, 22:03     Найти сумму членов арифметической прогрессии
Ответ Создать тему
Опции темы

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