Найти количество сложений для вычисления n-го числа Фибоначчи рекурсивным и обычным алгоритмом. - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Найти количество сложений для вычисления n-го числа Фибоначчи рекурсивным и обычным алгоритмом. Результаты выдать в виде таблицы. Помогите плиз. обычным могу сделать, а вот как рекурсивным не знаю Обычный алгоритм:
Листинг программы
  1. #include<stdio.h>
  2. #include<math.h>
  3. #define n 11
  4. int main()
  5. {
  6. static int fib[n];
  7. int i,kol=0;
  8. fib[0]=1;
  9. fib[1]=1;
  10. for(i=0;i<n;i++)
  11. {
  12. fib[i+1]=fib[i-1]+fib[i];
  13. if(i+2<n)
  14. {
  15. kol++;
  16. }
  17. }
  18.  
  19. for(i=0;i<n;i++)
  20. {
  21. printf(" %d",fib[i]);
  22. }
  23. printf("\n");
  24. printf("%d",kol);
  25. }
...

Решение задачи: «Найти количество сложений для вычисления n-го числа Фибоначчи рекурсивным и обычным алгоритмом.»

textual
Листинг программы
  1. #include<stdio.h>
  2. #include<math.h>
  3.  
  4. //cnt - глобальная переменная!!!
  5. int cnt=0;
  6.  
  7. int fib(int n)
  8. {
  9.    if((n==1)||(n==2))
  10.       return 1;
  11.    else
  12.    {
  13.       ++cnt;
  14.       return fib(n-1)+fib(n-2);
  15.    }
  16. }
  17. int main()
  18. {
  19.         int n=9;
  20.         printf("Fibbonacci number #%d = %d\n", n, fib(n));
  21.         printf("Addition count = %d\n", cnt);
  22.         return 0;
  23. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и математическими вычислениями.
  2. Объявление глобальной переменной cnt, которая будет использоваться для подсчета операций в рекурсивном алгоритме.
  3. Рекурсивная функция fib(int n), которая вычисляет n-ое число Фибоначчи.
  4. Проверка базового случая: если n равно 1 или 2, функция возвращает 1.
  5. Увеличение счетчика операций cnt на 1.
  6. Рекурсивный вызов функции fib(n-1) и fib(n-2) для вычисления n-ого числа Фибоначчи.
  7. В основной функции main() задается значение переменной n равное 9.
  8. Вызывается функция fib(n) для вычисления 9-го числа Фибоначчи и сохранения результата в переменную result.
  9. Выводится на экран значение result и количество операций cnt.
  10. Программа возвращает 0, заканчивая свое выполнение.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы