Отыскать сумму вида: -1+2+4-7-11+16+22+.... для n частей Число n изначально одинаково

Отыскать сумму вида: -1+2+4-7-11+16+22+.... для n частей

Число n вначале одинаково 0 (число i растет на 1 еденицу) то есть n=n+1 , n=n+2, n=n+3 при этом все нечетные пишутся со знаком минус. попробовал как то так решить но не вышло include

include
include
using namespace std;

int main()
int n,i,m=-1,s=2;
cingt;gt;n;
for(i=1;ilt;=n;++i)
s=s+i; if(s%2==0)m+=s;
else m=m-абс(s);

coutlt;
return 0;

Задать свой вопрос
1 ответ

include lt;iostreamgt;

using namespace std;

int main()

int m=1, n, sum=0;

cin gt;gt; n;

for(int i=1; ilt;=n; m+=i, i++)

sum = (m%2) ? sum-m : sum+m;

cout lt;lt; sum lt;lt; endl;

return 0;

Условную тернарную операцию в цикле можно поменять на:

if(m%2)

sum=sum-m;

else

sum=sum+m;

К качестве переменной суммы всего выражения возьмем sum за ранее инициализировав ее нулем.

m у нас в качестве значения определенного элемента в выражении, и начальное значение пусть будет безусловным значением первого элемента, то есть 1.

n - количество частей в сумме.

Сейчас откроем цикл от i=1 до n включительно. Проверка первого элемента: если нечетное, то вычитает его из sum; в неприятном случае добавляет в sum. В конце каждой итерации мы будем получать безусловное значение следующего элемента по формуле m=m+i (в коде этот процесс описан в параметрах цикла, перед i++), потом с увеличением i, теснее в новой итерации m будет проходить проверку.

Vitalja Gorulev
Спасибо, светло и понятно
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт