Вопрос задан 18.04.2020 в 15:50. Предмет Информатика. Спрашивает Анакина Ульяна.

Разработать рекурсивную функцию, не возвращающую значений: даны первый член и разность

арифметической прогрессии. Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии. Сделать в C++ подробно и с пояснениями, пожалуйста
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Passagir Victor.
#include <iostream>

using namespace std;

void arithmeticProgression(const int& first, const int& differense, const int& N){
    // first - первый номер арифметической прогрессии
    // difference - разность
    // N - число, до которого продолжать прогрессию

    static int sum = 0; // тут будет сумма
    static int callsNumber = 0; // считаем число вызовов функции для определения номера элемента последовательности
    int next = first + differense; // следующий элемент прогрессии
    sum += first; // подсчет суммы

    if(callsNumber == N){
        cout << "finally item: " << first << endl;
        cout << "sum: " << sum << endl;
        sum = 0;
        callsNumber = 0;
        return; // если следующий элемент идет по порядку больше N, то прервать рекурсию
    }
    else{
        callsNumber++;
        arithmeticProgression(next, differense, N); // иначе делать тоже самое со следующим числом прогрессии
    }
}

int main(){
    arithmeticProgression(2, 3, 3); // пример вызова
    return 0;
}

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос