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

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

02.02.2019, 19:12. Показов 15059. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru