Форум программистов, компьютерный форум CyberForum.ru

Рекурсия, числа фибоначи - C++

Восстановить пароль Регистрация
 
Begining
0 / 0 / 1
Регистрация: 22.12.2014
Сообщений: 23
12.11.2016, 11:56     Рекурсия, числа фибоначи #1
Почему-то не хочет выводить число фибоначи и самостятельно не могу найти ошибку. Нужна помощь
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int fib_rec (int n) {
    return fib_rec (n-1) + fib_rec (n-2);
}
 
int main () {
 
    int n;
    cout << "N: ";
    cin >> n;
 
    cout << fib_rec (n);
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2016, 11:56     Рекурсия, числа фибоначи
Посмотрите здесь:

Числа Фибоначи C++
C++ Числа Фибоначи на С++
C++ Рекурсия, совершенные числа
числа Фибоначи C++
C++ Числа фибоначи
C++ Числа Фибоначи
Числа Фибоначчи и рекурсия C++
Найти номер заданного числа Фибоначи C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ghost Writter
 Аватар для Ghost Writter
35 / 35 / 9
Регистрация: 09.12.2015
Сообщений: 188
12.11.2016, 12:02     Рекурсия, числа фибоначи #2
Begining, а так?

C++
1
2
3
4
5
int fib_rec (int n) {
    int temp = fib_rec (n-1) + fib_rec (n-2);
    cout << temp << endl;
    return temp;
}
Begining
0 / 0 / 1
Регистрация: 22.12.2014
Сообщений: 23
12.11.2016, 12:24  [ТС]     Рекурсия, числа фибоначи #3
Ghost Writter, Не выводит все равно
Ofelion
4 / 4 / 1
Регистрация: 26.01.2015
Сообщений: 88
12.11.2016, 13:31     Рекурсия, числа фибоначи #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Begining Посмотреть сообщение
Почему-то не хочет выводить число фибоначи и самостятельно не могу найти ошибку. Нужна помощь
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int fib_rec (int n) {
    return fib_rec (n-1) + fib_rec (n-2);
}
 
int main () {
 
    int n;
    cout << "N: ";
    cin >> n;
 
    cout << fib_rec (n);
    return 0;
}
Ты забыл условие выхода из рекурсии:

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
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int fib_rec(int n) 
{
    if (n <= 2)
    {
        return 1;
    }
    
    
    return fib_rec(n - 1) + fib_rec(n - 2);
}
 
int main() 
{
 
    int n;
    cout << "N: ";
    cin >> n;
 
    cout << fib_rec(n);
    return 0;
}
Добавлено через 11 минут
Begining, выше написал, что ты не указал базу рекурсии, то есть - условие выхода из неё.
Yandex
Объявления
12.11.2016, 13:31     Рекурсия, числа фибоначи
Ответ Создать тему
Опции темы

Текущее время: 00:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru