С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 08.08.2014
Сообщений: 7

Рекурсивная функция

26.11.2017, 17:47. Показов 2282. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать реализацию рекурсивной функции, вычисляющую n-ый
элемент ряда Фибоначчи, но без экспоненциально растущей рекур-
сии
Замечание:
Нужно создать две функции: одна вызывается непосредственно из main и вы-
зывает вторую, вспомогательную, которая и является рекурсивной.
Прошу помощи, на учебе совсем завал 😔
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.11.2017, 17:47
Ответы с готовыми решениями:

Рекурсивная функция, вычисляющая факториал
Описать рекурсивную функцию Fact2 (N) вещественного типа, вычисляющую значение двойного факториала N!! =...

Рекурсивная функция для нахождения чисел Фибоначчи
Здравствуйте. Нужно создать программу для нахождения числа Фибоначчи(вводишь с клавы порядковый номер, а выводит само число) с...

Рекурсивная функция для подсчета количества цифр в заданном натуральном числе
Нужно сделать рекурсивную функцию для подсчета количества цифр в заданном натуральном числе. Я смог сделать только обычную функцию для...

3
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
26.11.2017, 19:34
Внизу этой страницы группируются схожие темы
например эта: Рекурсивная функция для нахождения чисел Фибоначчи
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
26.11.2017, 20:14
Лучший ответ Сообщение было отмечено Sm1leTwo как решение

Решение

Sm1leTwo, в первом приближении, вспомогательная не нужна
Visual Basic
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
Option Explicit
 
Dim nCalls& 'только для подсчета вызовов, для реальной работы не нужно
 
Function f(n As Long) As Double
Static clFibo As New Collection
nCalls = nCalls + 1 'только для подсчета вызовов, для реальной работы не нужно
  If n < 3 Then
    f = 1
  Else
    With clFibo
      If .Count < 2 Then .Add 1: .Add 1
      If n - .Count <= 1 Then
        f = .Item(n - 1) + .Item(n - 2)
        If n - .Count = 1 Then .Add f
      Else
        f = f(n - 1) + f(n - 2)
      End If
    End With
  End If
End Function
 
Sub test()
  nCalls = 0
Debug.Print f(50), nCalls
End Sub
fever brain, в той теме как раз экспоненциально растущая рекурсия.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
26.11.2017, 22:11
Лучший ответ Сообщение было отмечено Sm1leTwo как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Function Fib(n As Integer, Optional c As Long = 0, Optional p As Long = 1) As Long
  If (n = 0) Then
    Fib = c
  Else
    Fib = Fib(n - 1, c + p, c)
  End If
End Function
 
Sub test()
    For i% = 1 To 40
        Debug.Print Fib(i%)
    Next i%
End Sub
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.11.2017, 22:11
Помогаю со студенческими работами здесь

Рекурсивная функция у меня другая но только не рекурсивная
Добрый день все ! Писал я про задачку но так и не кто откликнулся напомню о чем речь &quot; Добрый день форумчане! Мне...

Рекурсивная функция
Добрый день. Как решить рекурсивную функцию? Задание: y0 = m, m - натуральное число. yn = 2y2n-1 для n&gt;1.

Рекурсия: проверить, соответствует ли введенная последовательность символов понятию список_списков
Доброго времени суток. Мне необходимо написать рекурсивную функцию для решения задачи: Помогите пожалуйста придумать алгоритм, никак...

Рекурсивная функция
Помогите написать рекурсивную функцию, которая формирует в обратном порядке текст, задаваемый пользователем с клавиатуры.

Рекурсивная функция
Используя рекурсивную функцию, найти максимальный элемент из n элементов последовательности целых чисел, вводимых с клавиатуры. PASCAL Turbo


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru