Посчитать первые 10 чисел Фибоначчи рекурсивно - C (СИ)

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

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

посчитать первые 10 чисел фибоначи с помощью рекурсии

Решение задачи: «Посчитать первые 10 чисел Фибоначчи рекурсивно»

textual
Листинг программы
#include <stdio.h>
 
typedef unsigned long long ULL;
 
ULL fib_rec(ULL acc, ULL prev, unsigned num) {
    printf("%lld\n", acc);
    return num ? fib_rec(acc+prev, acc, num-1) : acc;
}
 
ULL fib(unsigned num) {
    return fib_rec(0, 1, num);
}
 
int main(void) {
    fib(10);
    return 0;
}

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

В данном коде на языке C реализуется вычисление первых 10 чисел Фибоначчи с использованием рекурсии.

  1. Создается функция fib_rec, которая принимает три аргумента: acc - текущее значение аккумулятора, prev - предыдущее значение аккумулятора, num - количество вызовов функции.
  2. Внутри функции происходит печать текущего значения аккумулятора с помощью функции printf.
  3. Затем функция рекурсивно вызывает саму себя, передавая в качестве аргументов обновленное значение аккумулятора, старое значение аккумулятора и уменьшенное на единицу количество вызовов функции.
  4. Если количество вызовов функции равно нулю, то функция просто возвращает текущее значение аккумулятора.
  5. Создается функция fib, которая принимает одно целочисленное значение - количество чисел Фибоначчи, которые необходимо вычислить.
  6. Внутри функции происходит вызов функции fib_rec, передавая в качестве аргумента значение 0, 1 и количество чисел Фибоначчи.
  7. В функции main вызывается функция fib с аргументом 10.
  8. В функции main также присутствует строка return 0;, которая обозначает успешный конец работы программы.

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


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

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

9   голосов , оценка 3.667 из 5
Похожие ответы