Разработать рекурсивную функцию, не возвращающую значений: даны первый член и разность арифметической прогрессии. написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии. сделать в c++ подробно и с пояснениями,
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(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку