Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Написать рекурсивную и нерекурсивную функции на с++. Помогите пожалуйста

frogyshka Ученик (86), открыт 1 неделю назад
Составить рекурсивную и нерекурсивную функции; вызвать созданные функции из main(), дать возможность пользователю ввести исходные данные.
Функции вычисления n-го члена ряда Фибонначчи
1 ответ
Андрей Высший разум (460756) 6 дней назад
Рекурсивная:
 long long unsigned fib(unsigned n) {
if (n < 2) { return n; }
return fib(n - 1) + fib(n - 2);
}
Нерекурсивная:
 long long unsigned fib(unsigned n) {
long long unsigned t[]{0, 1};
for (unsigned i = 2; i <= n; ++i) {
t[i & 1] = t[0] + t[1];
}
return t[n & 1];
}
Существует несколько вариантов чисел Фибоначчи, отличающихся начальным значением (0 или 1) и начальным индексом (0 или 1).
В данных примерах fib(0) = 0, fib(1) = 1.
Похожие вопросы