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

Посчитать количество раз выполнения функции

17.11.2019, 21:03. Показов 2701. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программист Вася написал вычисление ������-ого числа Фибоначчи с помощью рекурсивной функции,
которая выглядит следующим образом:
Python
1
2
3
4
5
def fibonacci(n):
    if n < 3:
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)
Сколько раз запустится эта функция прежде, чем будет получено значение?
На вход программе подаётся одно натуральное число. Программа должна вывести одно
натуральное число — ответ на вопрос задачи. Гарантируется, что ответ не превосходит 10^18
Мой код:
Выдаёт ошибку превышено максимальное время работы, подскажите пожалуйста как исправить

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
#include <string>
#include <iostream>
 
unsigned long int fibonacci(int n);
int main()
{
    int n;
    std::cin >> n;
    std::cout << fibonacci(n);
    return 0;
}
/////////////////
unsigned long int count = 1;
unsigned long int fibonacci(int n)
{
    if (n < 3)
    {
        return count;
    }
    else
    {
        count += 2;
        fibonacci(n - 1) + fibonacci(n - 2);
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2019, 21:03
Ответы с готовыми решениями:

Посчитать количество операций в коде и время выполнения
Я не понимаю условие данной задачи. Объясните, пожалуйста, как её делать. Найти выражение вида c0...

Как посчитать сколько раз появляется переменная в программе? (количество вхождений)
Есть переменная nn.x, она появляется в программе после компиляции очень много раз, как подсчитать...

Прата С. С++. Посчитать количество вызовов функции
Всем привет! Закончил раздел про встроенные функции, шаблоны, полиморфизм и ссылочные переменные....

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

4
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
17.11.2019, 21:41 2
Цитата Сообщение от Snaces Посмотреть сообщение
std::cout << fibonacci(n);
А что здесь выводить, если функция fibonacci ничего не возвращает? Допустим, я ввел 10. Возврат count делают только вложенные вызовы.
0
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 36
17.11.2019, 21:49  [ТС] 3
Vourhey, да ты ввёл 10, выведет 109, количество раз вызова функции Fibonacci. У меня ошибка из за большого времени работы, а так алгоритм же правильный
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
17.11.2019, 21:57 4
Цитата Сообщение от Snaces Посмотреть сообщение
а так алгоритм же правильный
Нет, неправильный. Если я введу 10, то никакого return в самом первом вызове функции у меня не будет, потому что n<3 для 10 не случится. Не суть.
По поводу того, сколько раз запустится, я думаю, что задача подразумевает не имитацию рекурсивных вызовов. Ты должен вывести формулу по Васиному коду, как посчитать кол-во вызовов. А не переписать Васин же код с подсчетом.
1
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 36
17.11.2019, 22:02  [ТС] 5
Vourhey, можешь тогда помочь с формулой и кодом, потому что я туплю если честно
0
17.11.2019, 22:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2019, 22:02
Помогаю со студенческими работами здесь

Посчитать количество итераций при рекурсивном вызове функции
void hoarSort(int* arrPtr, int first_element, int last_element, int lenght_array, int etheration)...

посчитать время выполнения поиска
Добрый вечер. Есть код B-дерева. Мне нужно показать, что время, выполнения поиска, ...

Посчитать время выполнения программы
В среде visual studio 2012 можно? или в коде написать что нужно, подскажите

Посчитать количество выполнения скрипта
Как мне подсчитать количество выполнений php-скрипта? (допустим работает он без регистрации в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru