profile
Размещено 5 лет назад по предмету Информатика от laaa23

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

  1. Ответ на вопрос
    Ответ на вопрос дан ShredingerCat
    #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;
    }

    1. Ответ на вопрос
      Ответ на вопрос дан ShredingerCat
      Главная фича - использовать статическую переменную для подсчета суммы, так как она сохраняет свое значение между вызовами функции. Минус в этом - функцию можно вызвать только один раз.
    2. Ответ на вопрос
      Ответ на вопрос дан ShredingerCat
      Если захочешь больше раза вызывать, то обнуляй сумму перед выходом из рекурсии (т.е. перед return)
    3. Ответ на вопрос
      Ответ на вопрос дан ShredingerCat
      изменил ответ, т.к. обратил внимание на требование суммы по N-ому члену прогрессии, а не до числа N
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.