• Articles
  • Tutorials
  • Interview Questions

What is Fibonacci Series in C?

What is Fibonacci Series in C?

Learning the Fibonacci series in C is essential for any programmer who wants to solve problems efficiently. Not only does it help build a solid foundational knowledge of programming concepts, but it also possesses a wide range of practical applications. Familiarizing yourself with the various methods to generate the Fibonacci series can enhance your problem-solving abilities and set you apart as a skilled programmer. By the end of this blog, you’ll have a solid grasp of the algorithm behind the Fibonacci series and how you can implement it in your own C programs. So, let’s get started!

Kickstart your C programming journey with us. Check out our Youtube video on C Programming Tutorial for Beginners

Video Thumbnail

Exploring Fibonacci Series in C

Exploring the Fibonacci Series in C

The Fibonacci series is a sequence in the mathematics of numbers. Each number generated is the sum of the preceding two numbers. The series starts with 0 and 1. 

The demonstrations of the Fibonacci series are here below:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233……..

Note that each next number is the sum of the previous two numbers which makes the third term 0 + 1 = 2 and the fourth term 2 + 1 which is 3 and the series goes on. 

Here are some of the interesting facts about the Fibonacci series:

  • The Italian mathematician Leonardo Fibonacci introduced the Fibonacci series through his book, Liber Abaci, in 1202.
  • Fibonacci believed that the series provided a solution to the following problem:
    “How many pairs of rabbits will be produced in a year, beginning with a single pair, if in every month each pair bears a new pair which becomes productive from the second month on?” 
  • The first reference to the sequence of numbers is attributed to a Sanskrit grammarian named Pingala, who was an Indian mathematician who lived between the fifth century B.C. and the second century A.D. 
  • Since the time Fibonacci introduced the series to Western culture, it has seldom had a significant profile. 
  • The Fibonacci sequence, for instance, is a crucial piece of information in The Da Vinci Code. 
  • The “Fibonacci poem,” a lyric mentioning the evolution of the syllable numbers in each line, follows Fibonacci’s pattern.
  • Fibonacci numbers interest physicists and biologists since they are regularly seen in various natural objects and processes. They may also be used to describe a spiral.

Sign up for our comprehensive Python Course and start coding like a pro!

Algorithm for Fibonacci Series in C

The subsequent elucidation presents the algorithm utilized in the C programming language to generate and exhibit the Fibonacci series. This particular algorithm has been devised to produce and present the Fibonacci series based on a designated number of iterations, which is represented as N. 

Start
   Step 1 → Take integer variables X, Y, Z
   Step 2 → Set X = 0, Y = 0
   Step 3 → DISPLAY X, Y
   Step 4 → Z = X + Y
   Step 5 → DISPLAY Z
   Step 6 → Set X = Y, Y = Z
   Step 7 → REPEAT from Step 4 - Step 6, for N times
Stop

Psuedocode for the Fibonacci Series in C:

procedure fibonacci : fibo
   IF fibo less than 1
      DISPLAY 0
   IF fibo equals to 1
      DISPLAY 1
   IF fibo_num equals to 2
      DISPLAY 1, 1
   IF fibo greater than 2
      Pre = 1,
      Post = 1,
      DISPLAY Pre, Post
      FOR 0 to fibo-2
         Fib = Pre + Post
         DISPLAY Fib
         Pre = Post
         Post = Fib
      END FOR
   END IF
end procedure

Code for the implementation of the Fibonacci Series in C:

#include <stdio.h>
int main() {
   int num_one, num_two, c, i, range;
   range = 4;
   num_one = num_two = 1;
   printf("%d %d ",num_one,num_two);
   for(i = 1; i <= range - 2; i++) {
      c = num_one + num_two;
      printf("%d ", c);
      num_one = num_two;
      num_two = c;
   }
   return 0;
}

Start learning about programming today with our beginner-friendly C Programming Tutorial.

Applications of Fibonacci Series

Applications of Fibonacci Series

The Fibonacci Series has multiple applications in mathematics, computer science, and other fields. 

  • The Fibonacci Series holds significance in multiple algorithms and programs, encompassing sorting and searching algorithms, dynamic programming, and encryption
  • It also possesses relevance in financial modeling, aiding in the prediction of stock prices and the analysis of economic trends. Furthermore, the Fibonacci Series finds practical applications in artistic, musical, and design domains, enabling the creation of visually pleasing patterns and structures.
  • Comprehending the Fibonacci Series is crucial for programmers, as it is a fundamental concept. By mastering its implementation in the C programming language, programmers can enhance their problem-solving abilities and foster a more profound comprehension of recursive functions, iterative loops, and algorithms.

Get 100% Hike!

Master Most in Demand Skills Now!

Ways to Implement Fibonacci Series

Ways to Implement Fibonacci Series

Fibonacci Series Using Functions

In C, we can also implement the Fibonacci Series using a function. Functions play a crucial role in every programming language as they facilitate the decomposition of complex tasks into more manageable and concise functions.

More information on Functions in C is provided below:

Functions refer to self-contained blocks of code used to perform a specific task. They allow us to reuse code and make it more modular and readable. Functions in C are defined using the keyword “void,” or the data type of the value that the function returns, followed by its name and parameters in parentheses.

An Example of the Fibonacci Series in C Using Function:

#include <stdio.h>
int fibonacci(int n)
{
   if(n == 0)
      return 0;
   else if(n == 1)
      return 1;
   else
      return (fibonacci(n-1) + fibonacci(n-2));
}
int main()
{
   int n, i = 0, c;
   printf("Enter the number of terms: ");
   scanf("%d",&n);
   printf("Fibonacci Series: ");
   for (c = 1; c <= n; c++)
   {
      printf("%d ", fibonacci(i));
      i++;
   }
   return 0;
}

This code snippet has a function “fibonacci” that takes an integer “n” as input and returns the nth number in the Fibonacci series using recursion. We then call this function in the “main” function using a “for” loop to print out the first “n” numbers in the series.

Advantages and Disadvantages of Using Functions:

Advantages:

  • Functions in the C programming language allow us to decompose intricate tasks into smaller, more tractable functions, thereby enhancing the modularity and readability of our code. 
  • Furthermore, these functions possess the advantageous quality of being reusable across various segments of our program, reducing the amount of code that must be authored. 
  • By circumventing superfluous code duplication, functions have the potential to enhance code efficiency.

Disadvantages:

  • They can complicate our program if we have more well-organized functions.
  • In C, functions can increase the overhead of our program by requiring additional memory for function calls.
  • Functions can make our programs less efficient if we use them excessively or inappropriately.

Fibonacci Series Using the While Loop

Explanation of the While Loop: A while loop is a control structure in programming that allows the execution of a block of code repeatedly while a specific condition is true.  

An Example of the Fibonacci Series Using the While Loop in C:

Now, let’s see how we can use the while loop to calculate the Fibonacci series in C.

#include <stdio.h>
int main()
{
    int n, i = 0, a = 0, b = 1, c;
    printf("Enter the number of terms: ");
    scanf("%d", &n);
    printf("Fibonacci Series: ");
    while (i < n)
    {
        printf("%d, ", a);
        c = a + b;
        a = b;
        b = c;
        i++;
    }
    return 0;
}

In this program, we first take input from the user for the number of terms of the Fibonacci series to be printed. Then, we initialize three variables: i for loop iteration and a and b for the first two numbers of the series.

We then print the first number of the series (a) and enter the while loop. Inside the loop, we print the value of a, then calculate the following number of the series (c) by adding a and b. We then assign the value of b to a and the value of c to b.

This process continues until i reaches the value of n, the number of terms that the user enters. At that point, the loop stops, and the program ends.

Advantages and Disadvantages of Using the While Loop:

Advantages:

  • It is simple and easy to understand.
  • It requires less memory than the recursive approach.

Disadvantages:

  • The recursive approach of the while loop exhibits reduced efficiency when dealing with higher values of n, showcasing a comparatively slower performance. 
  • Furthermore, the handling of more complex calculations may pose a challenge due to their heightened complexity.

Fibonacci Series Using the Recursive Function

A recursive function is a type of function that calls itself. In the Fibonacci series, we can use recursion to calculate the next number in the series by calling the function again with the two previous numbers as arguments. Here is an example of the Fibonacci series in C using a recursive function:

#include <stdio.h>
int fibonacci(int n)
{
    if (n == 0)
        return 0;
    else if (n == 1)
        return 1;
    else
        return (fibonacci(n-1) + fibonacci(n-2));
}
int main()
{
    int n, i;
    printf("Enter the number of terms: ");
    scanf("%d", &n);
    printf("Fibonacci Series: ");
    for (i = 0; i < n; i++)
        printf("%d ", fibonacci(i));
    return 0;
}

In the code snippet, we defined a function “fibonacci” that takes “n” as its argument in integer form. During the execution, if “n” is 0 or 1, the function will return 0 or 1, respectively. Alternatively, if the condition is not met, the function recursively invokes itself with “n-1” and “n-2” as the input parameters, subsequently yielding the summation of the outcomes.

In the main function, we prompt users to enter the number of terms they want in the Fibonacci series and store it in the integer variable “n.” We then use a for loop to print the Fibonacci series using the “fibonacci” function.

Advantages and Disadvantages of Using Recursive Function

Recursive functions can be helpful for specific tasks, but they have advantages and disadvantages.

Advantages:

  • It makes the code more readable and easier to understand, especially for inherently recursive tasks.
  • Recursive functions can be more elegant and efficient than iterative functions for specific tasks.

Disadvantages:

  • Recursive functions can be less efficient than iterative functions for large inputs, requiring more memory and processing power.
  • Recursive functions can be challenging to debug, especially if they need to be better designed or they call themselves too many times.

Do you want to ace your next interview? Check out these must-know C Programming Interview Questions.

Conclusion

The Fibonacci series in C is a fundamental concept that holds significant importance in the world of programming. It serves as a powerful tool for solving a wide range of problems, allowing developers to unleash their creativity and analytical skills. 

By understanding the recursive nature of the Fibonacci sequence and implementing it efficiently in C, programmers can unravel the hidden patterns and relationships inherent in various phenomena. Whether it’s analyzing natural phenomena, optimizing algorithms, or even exploring financial markets, the Fibonacci series offers a versatile framework for problem-solving. 

By grasping the principles and techniques involved, developers can enhance their coding abilities and unlock new possibilities. So, embrace the Fibonacci series in C, and let it empower you to conquer programming challenges and create innovative solutions.

Join for exclusive content and updates related to programming.

Course Schedule

Name Date Details
Python Course 23 Nov 2024(Sat-Sun) Weekend Batch View Details
30 Nov 2024(Sat-Sun) Weekend Batch
07 Dec 2024(Sat-Sun) Weekend Batch

About the Author

Senior Consultant Analytics & Data Science

Sahil Mattoo, a Senior Software Engineer at Eli Lilly and Company, is an accomplished professional with 14 years of experience in languages such as Java, Python, and JavaScript. Sahil has a strong foundation in system architecture, database management, and API integration.