Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Рекурсивная функция n-го числа Фибоначчи

40K
08 февраля 2009 года
Zerkal0
9 / / 17.10.2008
Господа помогите пожалуйста.
Язык используется c++.

Надо написать рекурсивное определение функции с одним параметром n типа int, возвращающей n-е число Фибоначчи.

Т.е. если n = 5, то соответственно функция должна возвращать 5-е число Фибоначчи:
Число1 = 5
Число2 = Число1 + 0 = 5
Число3 = Число1 + Число2 = 10
Число4 = Число2 + Число3 = 15
Число5 = Число3 + Число4 = 25

Обычную функцию с циклом for написал без проблем, а рекурсивную не получается.

Буду очень признателен за помощь.
247
09 февраля 2009 года
wanja
1.2K / / 03.02.2003
 
Код:
int fib_rec(int n)
{
if (n==1)or(n==2)
  return 1;
return fib_rec(n-1)+fib_rec(n-2);
}

Примерно так...
40K
09 февраля 2009 года
Zerkal0
9 / / 17.10.2008
Что-то не работает. Если n задать равным 5, как написано в первом сообщении ,
то вместо 25 выводит 5.
Кроме того при n=0 получается не очень хорошо.
14
09 февраля 2009 года
Phodopus
3.3K / / 19.06.2008
Цитата: Zerkal0
Что-то не работает. Если n задать равным 5, как написано в первом сообщении ,
то вместо 25 выводит 5.


Ибо Fib(5) = 5, а выкладки у вас бредовые написаны, идите учитесь.

Цитата: Zerkal0
Кроме того при n=0 получается не очень хорошо.


Вот и допишите еще одно условие

40K
09 февраля 2009 года
Zerkal0
9 / / 17.10.2008
Как раз по причине неучёности обращаюсь к более знающим.

В чём бредовость?
В условии задачи же сказано, что функция принимает параметр n и возвращает
n-e число Фибоначчи. Т.е. введя 5, как мы получим в качестве 5-го числа опять же 5?
5
09 февраля 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Zerkal0
Т.е. введя 5, как мы получим в качестве 5-го числа опять же 5?

Именно ;)

40K
09 февраля 2009 года
Zerkal0
9 / / 17.10.2008
Объясните пожалуйста на пальцах почему.
40K
09 февраля 2009 года
Zerkal0
9 / / 17.10.2008
Всё понял. Спасибо за помощь.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог