Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/75: Рейтинг темы: голосов - 75, средняя оценка - 4.53
0 / 0 / 1
Регистрация: 02.02.2019
Сообщений: 27

Рекурсия (Числа Фибоначчи)

02.02.2019, 19:12. Показов 15089. Ответов 6

Студворк — интернет-сервис помощи студентам
Не понимаю, как данная рекурсия складывает числа. Ведь функция дойдет до n=1 и начнет возвращать значения (Первое фото), но функция же не складывает возвращенные результаты, или я чего-то не понимаю?



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
27
28
29
30
31
32
33
34
#include <conio.h>
#include <stdio.h>
 
int main()
{
 
    int last;
    int result; 
 
    printf("Input your last number for Fubbanachi: ");
    scanf("%d", &last);
 
    result = fib(last);
 
    printf("%d \n", result);
 
    _getch();
 
}
 
int fib(n) 
{
 
    if (n == 0 || n == 1)
        return 1;
    
    else {
 
        int sum = (fib(n - 1) + fib(n - 2));
        return sum;
 
    }
 
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.02.2019, 19:12
Ответы с готовыми решениями:

Числа Фибоначчи и рекурсия
Всем привет. Кто может мне доступно объяснить нахождение числа? Да и вообще, что мы ищем? Есть ряд: 0, 1, 1, 2, 3, 5, 8, 13, 21......

рекурсия и массивы: числа Фибоначчи
привет всем ! как с помощью рекурсии с параметрами массива реализовать числа Фибоначчи ? вот что то на клепал #include...

Рекурсия в нахождении числа ряда Фибоначчи.
Лаба: написать программу, находящуую заданный элемент ряда Фибоначчи. Написал: #include &lt;stdio.h&gt; void main() { int M,...

6
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
02.02.2019, 19:52
Цитата Сообщение от Star_Il Посмотреть сообщение
не складывает возвращенные результаты
Как же не складывает, а это что такое?
C++
1
int sum = (fib(n - 1) + fib(n - 2));
1
0 / 0 / 1
Регистрация: 02.02.2019
Сообщений: 27
02.02.2019, 21:59  [ТС]
Т.е. вычисления для (n-1) и (n-2) делаются параллельно? (Нашел картинку на форуме). Просто я думал, что это работает так, как написано у меня на листочке, т.е. fib(n-1) дойдет до 1, пойдет обратно, и далее от этого значения вычитается 2 (fib(n-2)), и после того, как n снова будет меньше или равно одному возвращает сумму двух функций. Просто тогда будет выводится набор чисел, а не сумма.

0
 Аватар для Den468
30 / 18 / 14
Регистрация: 19.12.2018
Сообщений: 104
02.02.2019, 22:16
Лучший ответ Сообщение было отмечено Star_Il как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void fib(int n) 
{
    int f1 = 1;
    int f2 = 1;
    int i = 0;
        int s = 0;
    while (i < n) {
        i++;
        s = f1 + f2;
        f1 = f2;
        f2 = s;
        cout << s << endl;
    }
}
1
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
02.02.2019, 22:46
Цитата Сообщение от Star_Il Посмотреть сообщение
делаются параллельно?
Нет. Сначала идет вся ветка fib(n - 1), потом уже fib(n - 2)
0
0 / 0 / 1
Регистрация: 02.02.2019
Сообщений: 27
02.02.2019, 23:24  [ТС]
Извиняюсь, неправильно выразился. Не параллельно, а независимо, и только к концу складываются.
0
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
03.02.2019, 10:11
Цитата Сообщение от Star_Il Посмотреть сообщение
концу складываются
Да, конечно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2019, 10:11
Помогаю со студенческими работами здесь

Рекурсия: определить номер и значение числа Фибоначчи, не превышающего заданную величину
Здравствуйте,можете пожалуйста написать код? Вот задание: Определить порядковый номер и значение члена ряда Фибоначчи, не...

По заданному числу Фибоначчи найти предыдущее и следующее числа Фибоначчи
Дано целое число N(&gt;1), которое является числом Фибоначчи: N=Fk. Найти целые числа Fk-1 и Fk+1 - предыдущие и последующее числа...

По заданному числу Фибоначчи найти предыдущее и следующее числа Фибоначчи
Дано целое число N(&gt;1), которое является числом Фибоначчи: N=Fk. Найти целые числа Fk-1 и Fk+1 - предыдущие и последующее числа Фибоначчи. ...

Набрать с чисел Фибоначчи в интервале от 1 до 100, только просто числа, а также их порядковые номера в ряду Фибоначчи
Помогите с задачкой Набрать с чисел Фибоначчи в интервале от 1 до 100, только просто числа, а также их порядковые номера в ряду...

Функции. Рекурсия на примере Фибоначчи
Можете начинающему объяснить решен задачи про числа фиибоначи с помощью рекурсии. Вот код // Fibonacci series using recursion ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru