evgeniy8705
@evgeniy8705
Повелитель вселенной

Вопрос про рекурсию(Фибоначчи) на С?

int fib(int n) {
  if (n < 2) {
    return 1;
  } else {
    return fib(n - 1) + fib(n - 2);
  }
}


void main() {
  fib(5); // -> выведет 5 число Фибоначчи
}


А как вывести саму последовательность от 0 до n, а не n-ое число
  • Вопрос задан
  • 2307 просмотров
Решения вопроса 1
Если сделать вывод прямо в функции, то числа будут в обратной последовательности. Первый приходящий в голову вариант — заводить массив (размерность известна) и заполнять его в процессе выполнения функции. И далее выводить уже содержимое этого массива.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Можно динамическое программирование применить. Плюс к скорости, минус по памяти.
habrahabr.ru/post/113108
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы