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

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

12.11.2016, 11:56. Просмотров 796. Ответов 3
Метки нет (Все метки)

Почему-то не хочет выводить число фибоначи и самостятельно не могу найти ошибку. Нужна помощь
Вот код:
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;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2016, 11:56
Ответы с готовыми решениями:

Числа Фибоначи
Написать программу, которая запрашивает с клавиатуры значения двух ...

Числа фибоначи
Написать программу для вычисления н-ного числа фибоначи. Я написал рекурсией....

числа Фибоначи
1)Определить 40-е число Фибоначи 2)поиск 1-го числа Фибоначи больше заданного...

Числа Фибоначи
Как розпечатать числа Фибоначи на экран(Си)??????????????????

Класс числа фибоначи
Дано целое число 1≤n≤40, необходимо вычислить n-е число Фибоначчи (нужно...

3
Ghost Writter
52 / 52 / 19
Регистрация: 09.12.2015
Сообщений: 214
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;
}
0
Begining
0 / 0 / 1
Регистрация: 22.12.2014
Сообщений: 25
12.11.2016, 12:24  [ТС] 3
Ghost Writter, Не выводит все равно
0
Ofelion
13 / 13 / 15
Регистрация: 26.01.2015
Сообщений: 203
12.11.2016, 13:31 4
Лучший ответ Сообщение было отмечено Begining как решение

Решение

Цитата Сообщение от 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, выше написал, что ты не указал базу рекурсии, то есть - условие выхода из неё.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2016, 13:31

Найти номер заданного числа Фибоначи
Дано положительное число А. Найти номер к такого числа Фибоначи Xk, что...

Программа, которая для заданного натурального числа вычисляет 1000-ное число Фибоначи
Помогите написать программу, которая для заданного натурального числа вычисляет...

Вывести все числа от 1 до заданного натурального числа n (рекурсия)
Дано натуральное число n. Выведите все числа от 1 до n (Рекурсия) Ввод - 5 ...


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

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

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