Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 32

Используя рекурсивную функцию, выдать первые n элементов последовательности

14.01.2013, 23:35. Показов 2950. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста! Рекурсия моя слабость! Вот задание:

Используя рекурсивную функцию, выдать первые n элементов последовательности Xn= 5*X(n-1) - 20, X0= 2, которые больше заданного числа m.

Что то даже начать не знаю откуда! Очень нужна ваша помощь!
Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2013, 23:35
Ответы с готовыми решениями:

Используя рекурсивную функцию, выдать первые n элементов последовательности, которые больше заданного числа m
Помогите срочно!!!Нужно написать программу рекурсией!!Но я рекурсию вообще не понимаю. Помогите пожалуйста!! Используя рекурсивную...

Используя рекурсивную функцию, найти сумму первых n элементов последовательности
Используя рекурсивную функцию, найти сумму первых n элементов последовательности xn = 3 * xn-1, x0 = 1. Помогите пожалуйста. Нужно...

Используя рекурсивную функцию, найти сумму первых n элементов последовательности
Используя рекурсивную функцию, найти сумму первых n элементов последовательности xn=3*xn-1; x0=1.

7
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
14.01.2013, 23:39
Начать надо с функции рекурсии , но тут задание с подвохом рекурсия обычно возврашает одно значение, а вам их придется кудато записать и ничего не возврашать
1
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 32
14.01.2013, 23:45  [ТС]
А как эту функцию рекурсии написать? Я час сидел думал ничего что то не приходит!
0
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
15.01.2013, 00:47
ну как и обычную для начала заголовок

Добавлено через 39 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
using namespace std;
 
int element(double x,int n){
    return 5*x*(n-1) - 20;
}
 
void firstNNumbers(int N,int m,int x,int n){  // n счетчик рекурсии
    if (N) {   // пока N > 0
        if (element(x,n) > m) {
            cout <<  element(x,n) << " ";
            return firstNNumbers(--N,m,x,++n); //  если число вывели то количество уменьшаем
        }  else {
            return firstNNumbers(N,m,x,++n);
        }
    } return;
}
 
int main()
{
        int N; // N количество которое необходимо вывести
        int x = 2;
        int m;
        system("chcp 1251");
        cout << "Введите N и m" << endl;
        cin >> N >> m;
        firstNNumbers(N,m,x,-10);  // вместо -10 можно запрашивать начало
        system("pause");
        return 0;
 
}
1
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 32
15.01.2013, 01:15  [ТС]
Большое Спасибо! Вы меня спасли!

Добавлено через 19 минут
Только там X(n-1)-это предыдущий элемент, а не умножение.
Как это можно поправить. Буду очень признателен!
0
 Аватар для FreeMinder
36 / 36 / 4
Регистрация: 29.08.2012
Сообщений: 59
15.01.2013, 10:50
Если понимать условие как: "посчитать первые n чисел последовательности, а вывести только те, что больше m
то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include<iostream>
using namespace std;
 
void Sequence(double x, double m, int n)
{
    static int count = 0;   
    if(count++ > n) 
        return;
    if(x > m)
        cout<<x<<endl;
    return Sequence( 5*x - 20, m, n);
}
 
int main(int argc, char *argv[])
{  
    int    n = 0;
    double m = 0;
 
    cout << "Enter n: ";
    cin >> n;
    cout << "Enter m: ";
    cin >> m;
 
    Sequence(2,m,n);
 
    return 0;
}
А если нужно считать пока не выведем n элементов, то надо или по модулю сравнивать или хз, эта последовательность уходит в минус бесконечность и при положительных m считать будем до бесконечности
1
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
15.01.2013, 11:51
надо знать пределы n чтобы выйти из рекурсии, если считать n как индекс , как счетное натуральное число, то его предел будет 1 таким образом получим такую последовательность https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}<br />
 \text n <= 0, yn= 1 \\ <br />
 \text n > 0  ,  yn= 5*y(n-1)-20  <br />
\end{cases} иначе как указал ,FreeMinder, она уходит в минус бесконечность и ни что ее не остановит,и даже при таком варианте она уходит в минус бесконечность поэтому целесообразно сравнивать по модулю


Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
 
int element(int n){
    if ( n > 0 ) {
        return 5*element(n-1) - 20;
    } else {
        return 2;
    }
}
 
void firstNNumbers(int N,int m,int n){  // n счетчик рекурсии
    if (N) {   // пока N > 0
        if (abs(element(n)) > abs(m)) {// сравнение по модулю
            cout <<  element(n) << " ";
            return firstNNumbers(--N,m,++n); //  если число вывели то количество уменьшаем
        }  else {
            return firstNNumbers(N,m,++n);
        }
    } return;
}
 
int main()
{
        int N; // N количество которое необходимо вывести
        int m;
        system("chcp 1251");
        cout << "Введите N и m" << endl;
        cin >> N >> m;
        firstNNumbers(N,m,1);  // вместо 1 можно запрашивать начало
        system("pause");
        return 0;
}}
вот если n cчетное то мы считаем Х
1
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 32
15.01.2013, 14:32  [ТС]
Спасибо всем большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.01.2013, 14:32
Помогаю со студенческими работами здесь

Вычислить значение N-го члена последовательности используя рекурсивную функцию
Всем добрый вечер, ребят) Буду очень благодарен, если поможете сделать программу, я просто только начинаю знакомится и не всё получается,...

Напишите рекурсивную функцию определения элементов рекуррентной последовательности
C# консольное приложение Напишите рекурсивную функцию определения элементов рекуррентной последовательности Fn+2 = 2Fn+1 – Fn , F1=2,...

Напишите рекурсивную функцию определения элементов рекуррентной последовательности Fn+2 = 2Fn+1 – Fn , F1=2, F0=1
7. Напишите рекурсивную функцию определения элементов рекуррентной последовательности Fn+2 = 2Fn+1 – Fn , F1=2, F0=1. Напишите также...

Вывести ряд чисел Фибоначчи, используя рекурсивную функцию, рекурсивную процедуру
Вывести ряд чисел Фибоначчи, используя рекурсивную функцию, рекурсивную процедуру. рекурсивную функцию, рекурсивную процедуру 2 программы

Описать рекурсивную функцию целого типа, находящую число сочетаний из n элементов по m, используя формулу
1.Описать рекурсивную функцию C(m,n) целого типа, находящую число сочетаний из n элементов по m, используя формулу: C(0,n) = C(n,n) = 1,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru