WAP to print Fibonacci series by n terms
Write a C program to print Fibonacci series up to n terms using
loop. How to generate Fibonacci series up to n terms using loops in C
programming. Logic to print Fibonacci series in a given range in C program.
Example
Input
Input number of terms: 10
Output
Fibonacci series:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34
Fibonacci
series is a series of numbers where the current number is the
sum of previous two terms. For Example: 0, 1, 1, 2, 3, 5, 8, 13, 21, ... ,
(n-1th + n-2th)
Logic to generate
Fibonacci series
So far we know that we can get next Fibonacci term by adding
previous two terms. Let us take this point to derive our logic. Below is the
step by step descriptive logic to generate n Fibonacci terms.
1.
Read number of
Fibonacci terms from user. Store it in some variable say terms.
2.
Initialize three
variable, I call it as Fibonacci magic initialization. a=0, b=1 and c=0. Here c is the current term, b is the n-1th term and a is n-2th term.
3.
Run a loop from 1
to term, incrementing loop counter by 1. The loop
structure should look like for(i=1; i<=term; i++). It will iterate through n terms
4.
Inside the loop I will
make three magic assignments of Fibonacci series. First a = b assigning the n-1th value to n-2.
Second b = c assigning current term to n-1 term. Last c = a + b add the previous two terms to get the
new term.
5.
Print the value
of c to print the current Fibonacci term.
Program to print
Fibonacci series up to n terms
/**
|
* C program to print Fibonacci series up to
n terms
|
*/
|
|
#include <stdio.h>
|
|
int main()
|
{
|
int a, b, c, i, terms;
|
|
/*
|
* Read a number from user
|
*/
|
printf("Enter number of terms:
");
|
scanf("%d", &terms);
|
|
// Fibonacci magic initialization
|
a = 0;
|
b = 1;
|
c = 0;
|
|
printf("Fibonacci terms: \n");
|
|
// Iterate through n terms
|
for(i=1; i<=terms; i++)
|
{
|
printf("%d, ", c);
|
|
a = b; // Copy n-1 to n-2
|
b = c; // Copy current to n-1
|
c = a + b; // New term
|
}
|
|
return 0;
|
}
|
Advance your programming skills by learning this program using
recursive approach.
Output
Enter number of terms: 10
Fibonacci terms:
0,1,1,2,3,5,8,13,21,34
|
Before you move on to next exercise or program. Let me show one
more example related to Fibonacci series. Let us code the solution to print
Fibonacci series between a given range. Below is the program to print Fibonacci
series between given range.
Program to print
Fibonacci series in given range
/**
|
* C program to print Fibonacci series in
given range
|
*/
|
|
#include <stdio.h>
|
|
int main()
|
{
|
int a, b, c, start, end;
|
|
/*
|
* Read a number from user
|
*/
|
printf("Enter starting term:
");
|
scanf("%d", &start);
|
printf("Enter end term: ");
|
scanf("%d", &end);
|
|
// Fibonacci magic initialization
|
a = 0;
|
b = 1;
|
c = 0;
|
|
printf("Fibonacci terms: \n");
|
|
// Iterate through terms
|
while(c <= end)
|
{
|
|
// If current term is greater than
start term
|
if(c >= start)
|
{
|
printf("%d, ", c);
|
}
|
|
a = b; // Copy n-1 to n-2
|
b = c; // Copy current to n-1
|
c = a + b; // New term
|
}
|
|
return 0;
|
}
|
Output
Enter starting term: 4
Enter end term: 30
Fibonacci terms:
5, 8, 13, 21
|
Comments
Post a Comment