/
AirLexa
/
03
Обзор
Документация
Войти
/
AirLexa
/
03
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Lesson_02/Task_1/Task_1.cpp
31 строка
1 KB
AirLexa
создал Lesson_02/Task_1/Task_1.cpp
27 дек 2025, 10:44
27 дек 2025, 10:44
4612e3e
Код
Авторство
О чём код?
#include <iostream> #include <windows.h> int fib(int n, int &count) { count++; return n < 2 ? n : fib(n - 2, count) + fib(n - 1, count); } void print_fib(int num) { int count = 0; std::cout << num << "-e число Фибоначчи равно " << fib(--num, count) << ". Количество вызовов fib = " << count << std::endl; } int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); for (int i = 1; i < 21; i++) print_fib(i); return 0; } // Как видно из работы данной программы, при увеличении числа Фибоначчи // в два раза, количество итераций возрастает примерно в квадрате, // что говорит нам об экспоненциальной зависимости О(2^n) по скорости. // Сложность алгоритма по памяти будет линейна О(n), т.к. рекурсивные вызовы функций // выполняются последовательно, и размер стека не превышает глубину дерева вызовов.