C Programs | IT Developer
IT Developer

C Programs



Share with a Friend

Functions in C

Fibonacci (recursion)

A recursive function is a function which calls itself

C Program: Fibonacci (recursion)

C

#include <stdio.h>

 

// Function declaration

int fibonacci(int n);

 

int main() {

    int n, i;

 

    // Input number of terms

    printf("Enter the number of terms: ");

    scanf("%d", &n);

 

    if (n <= 0) {

        printf("Please enter a positive integer.\n");

    } else {

        printf("Fibonacci Series up to %d terms:\n", n);

        for (i = 0; i < n; i++) {

            printf("%d ", fibonacci(i));

        }

        printf("\n");

    }

 

    return 0;

}

 

// Recursive function definition

int fibonacci(int n) {

    if (n == 0)

        return 0;       // Base case 1

    else if (n == 1)

        return 1;       // Base case 2

    else

        return fibonacci(n - 1) + fibonacci(n - 2);  // Recursive case

}

Output

 
OUTPUT :
Enter the number of terms: 8
Fibonacci Series up to 8 terms:
0 1 1 2 3 5 8 13


Explanation

  1. Recursion Concept
    • The function calls itself with smaller values (n-1 and n-2) until it reaches base cases (0 and 1).
    • This builds the series naturally through repeated function calls.
  2. Base Cases
    • fibonacci(0) = 0
    • fibonacci(1) = 1
  3. Recursive Case
    • fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)
  4. Example (for first 6 terms)

                 fibonacci(0) = 0

                 fibonacci(1) = 1

                 fibonacci(2) = 1

                 fibonacci(3) = 2

                 fibonacci(4) = 3

                 fibonacci(5) = 5