Источник: Nuances of Programming Занимаясь изучением обработки данных, расчётами, а также другими компьютерными и математическими операциями, мы сталкиваемся со многими алгоритмами. Несмотря на то, что иногда мы недолюбливаем математику, мы зачастую даже не подозреваем, что окружены великим множеством вещей, идеально сбалансированных по ее принципам самой природой. Одним из таких принципов, который весьма интересен для изучения, является последовательность Фибоначчи. Мы можем обнаружить ее во многих проявлениях природы: в числе лепестков цветка, количестве спиралей у подсолнуха и т.д. В процессе работы с кодом мы сталкиваемся со многими алгоритмами: рекурсивные, типа “разделяй и властвуй”, рандомизированные, методы подбора и пр. Однако одними из наиболее полезных являются именно рекурсивные алгоритмы. Что же такое алгоритм? В первую очередь, алгоритм является набором задач, которым необходимо следовать для решения проблемы. Время его выполнения определяется числом шагов, необходимых