Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
nikita735
0 / 0 / 0
Регистрация: 20.05.2018
Сообщений: 4
1

Найти n первых членов последовательности, используя рекурсивной функции

20.05.2018, 12:38. Просмотров 168. Ответов 9
Метки нет (Все метки)

Помогите написать программу.
Найти n первых членов последовательности с помощью рекурсивной функции :

F(3) = 3
F(n)=F(n - 3) * F(n - 2), N > 2
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2018, 12:38
Ответы с готовыми решениями:

Не используя стандартные функции (за исключением abs), вычислить сумму первых n членов ряда
Не используя стандартные функции (за исключением abs), вычислить сумму первых n...

Найти k-й член последовательности Фибоначчи; верно ли, что сумма первых n членов есть чётное число?
Дано натуральное число n,n>=3. 1)Найти k-й член последовательности Фибоначчи....

Найти количество и сумму всех членов последовательности (используя do...while)
Дана последовательность чисел a1, a2, a3, .... Количество элементов в...

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

Сумма первых членов последовательности
Здравствуйте! Помогите пожалуйста...у меня считает суму всей...

9
SuperKir
434 / 399 / 278
Регистрация: 10.03.2015
Сообщений: 1,696
Завершенные тесты: 1
20.05.2018, 12:52 2
А F(1), F(2) чему равны?
0
nikita735
0 / 0 / 0
Регистрация: 20.05.2018
Сообщений: 4
20.05.2018, 13:00  [ТС] 3
F(1) = 1, F(2) = 2
0
SuperKir
434 / 399 / 278
Регистрация: 10.03.2015
Сообщений: 1,696
Завершенные тесты: 1
20.05.2018, 14:25 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
unsigned long F(unsigned long n)
{
    if (n <= 3) return n;
    return (F(n - 3)*F(n - 2));
}
 
void main()
{
    unsigned long x;
    cout << "Enter positive value: ";
    cin >> x;
    cout << F(x) << endl;
}
1
nikita735
0 / 0 / 0
Регистрация: 20.05.2018
Сообщений: 4
20.05.2018, 14:51  [ТС] 5
Спасибо, а как еще сделать вывод этих элементов?
Например, задаём x = 3, и выводятся 3 этих элемента
0
SuperKir
434 / 399 / 278
Регистрация: 10.03.2015
Сообщений: 1,696
Завершенные тесты: 1
20.05.2018, 14:55 6
nikita735, Каких эти? При 3 выведется 3...
0
nikita735
0 / 0 / 0
Регистрация: 20.05.2018
Сообщений: 4
20.05.2018, 14:58  [ТС] 7
мне нужно реализовать вывод членов последовательности
0
SuperKir
434 / 399 / 278
Регистрация: 10.03.2015
Сообщений: 1,696
Завершенные тесты: 1
20.05.2018, 15:03 8
nikita735, похоже имеется ввиду вот это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
unsigned long long F(unsigned long long n)
{
    if (n <= 3) return n;
    return (F(n - 3)*F(n - 2));
}
 
int main()
{
    unsigned long long  n;
    cout << "Enter n: ";
    cin >> n;
    for (auto i = 1; i <= n; i++)
        cout << F(i) << " ";
    cout << endl;
    system("pause");
    return 0;
}
1
elsum
0 / 0 / 0
Регистрация: 31.10.2017
Сообщений: 40
20.05.2018, 15:04 9
да, благодарю
0
SuperKir
434 / 399 / 278
Регистрация: 10.03.2015
Сообщений: 1,696
Завершенные тесты: 1
20.05.2018, 15:12 10
elsum, единственное, сам понимаешь, типы данные не резиновые.
В последнем посте изменил на unsigned long long, но это мало чем поможет при n>19.
Можно немного схитрить и сделать, например, так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
double F(double n)
{
    if (n <= 3.) return n;
    return (F(n - 3.)*F(n - 2.));
}
 
int main()
{
    double n;
    cout << "Enter n: ";
    cin >> n;
    for (auto i = 1; i <= n; i++)
        cout << fixed << setprecision(0) << F(i) << endl;
//      cout << i << ". " << fixed << setprecision(0) << F(i) << endl << endl; //для большей наглядности
    cout << endl;
    system("pause");
    return 0;
}
Но опять же, макс. где-то до 27
0
20.05.2018, 15:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2018, 15:12

Вычислить первых 15 членов последовательности
Помогите пожалуйста решить 2 задачки на языке С ++.. Лежу в больнице, азы...

Вычисление суммы первых n членов последовательности
Помогите пожалуйста... У меня получилась просто последовательность, а должна...

Вывести на экран 50 первых членов последовательности
Написать программу, которая выводит на экран 50 первых членов...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru