1

Тема: Сума елементів арифметичної прогресії через рекурсію

Доброго дня:)
Потрібно прорахувати суму елементів арифметичної прогресії за допомогою рекуксії.
Програма рахує n елемент, а не суму n-них елементів.
Не можу зрозуміти, як правильно задати формулу для суми у програмі.
Наперед дякую;)

#include <iostream>

#include <iostream>

#include "time.h"

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <ctime>

using namespace std;

 

int Sum(int x, int step, int n)

{

    if (n==1) return(x);

    else return(Sum(x, step, n-1)+step);

}

int main()

{

    int x,step,n;

cout<< "a0 =";

cin>>x;

cout<< "d =";

cin>>step;

cout<< "N =";

cin>>n;

cout << Sum(x, step, n)<<endl;

    cin >> n;

}

2 Востаннє редагувалося koala (26.12.2019 14:16:26)

Re: Сума елементів арифметичної прогресії через рекурсію

int Sum(int x, int step, int n)
{
    if (n==1) 
        return x;
    else 
        return x + Sum(x+step, step, n-1);
}

Спробуйте виписати кілька можливих значень при різних параметрах, щоб розібратися, що тут до чого.

3

Re: Сума елементів арифметичної прогресії через рекурсію

Дякуууую величезне:)))

4

Re: Сума елементів арифметичної прогресії через рекурсію

podruzhka_k написав:

Дякуууую величезне:)))

"Дякую" - це перша особа дієслова "дякувати": я (що роблю?) дякую. Ви вважаєте, що я середнього роду, неживе і дуже велике, тому пишете так? Але дієслово "дякувати" узгоджується не зі знахідним відмінком (дякую кого? що?), а з давальним (дякую кому? чому?), тому в такому випадку треба тоді писати "дякую величезному".
Або просто не калькувати з російської, де "спасибо" може бути іменником, а думати українською. Дієслова узгоджуються з прислівниками, тут можна сказати "дуже дякую", "красно дякую", "щиро дякую", а не обзивати мене чимось неживим середнього роду.