Problem: Write a C program to print the Fibonacci series up to n terms.
What is Fibonacci Series?
In mathematics, the Fibonacci numbers commonly denoted Fₙ, form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0 and 1.
Wikipedia
In the Fibonacci series, the first and second terms are 0 and 1 respectively, and every nth term is the sum of (n-2)th term and (n-1)th term.
Example: 0, 1, 1, 2, 3, 5, 8, 13 ,etc.
Print Fibonacci Series in C using Loop
Steps to print the Fibonacci Series in C:
- Initialize
a=0
as first andb=1
as the second term. - Calculate the next term
c
using the formulaa+b
. - Output
c
and updatea=b
andb=c
. - Repeat again from step 2 till the nth term.
we have to implement step-2 and step-3 inside the ‘for’ loop for the nth term greater than 2.
For n=1
we output the value of a
and for of n=2
we output both a
and b
.
Here is the implementation of the steps in C:
#include <stdio.h>
int main(void) {
int n, a=0, b=1, c;
printf("Enter the number of terms \n");
scanf("%d",&n);
if(n==1){
printf("%d", a);
} else if(n == 2){
printf("%d %d", a, b);
} else {
printf("%d %d ", a, b);
for(int i=3; i<=n; i++){
c=a+b;
a=b;
b=c;
printf("%d ", c);
}
}
return 0;
}
Output
Enter the number of terms
10
0 1 1 2 3 5 8 13 21 34
Print Fibonacci Series in C using Recursion
Fibonacci series can also be implemented using recursion.
The recursion method will return the nth term by computing the recursive(n-2)+recursive(n-1)
.
Since the recursive method only returns a single nth term we will use a loop to output each term of the series.
#include <stdio.h>
int main(void) {
int n, a=0, b=1, c;
printf("Enter the number of terms \n");
scanf("%d",&n);
if(n==1){
printf("%d", a);
} else if(n == 2){
printf("%d %d", a, b);
} else {
printf("%d %d ", a, b);
for(int i=3; i<=n; i++){
printf("%d ", nthRecursiveTerm(i));
}
}
return 0;
}
//Recursive function
int nthRecursiveTerm(int n){
if(n==1)
return 0;
else if(n==2)
return 1;
return nthRecursiveTerm(n-2)+nthRecursiveTerm(n-1);
}
Output
Enter the number of terms
10
0 1 1 2 3 5 8 13 21 34
In this tutorial, we learned to print the Fibonacci series in c programming language.