Skip to main content

Fibonacci series in C non recursive

Objective : To print given numbers of Fibonacci series. (1,1,2,3,5.....) non recursively.
Programming Logic: Its easy to print the above Fibonacci series in C. the number is always sum of previous 2 terms. This series starts with numbers 1,1. so next term is 1+1=2. Then next term is 1+2=3 and so on.
(It may be noted that series 1,3,4,7,11,18.... is also a Fibonacci series, but it starts with 1,3 )

Code :
#include<stdio.h>
int main()
{
    int k;
    printf("\n enter number of terms to print=");
    scanf("%d",&k);
    fic(k);
    return(0);
}
void fic(int x)// x are number of terms to print
{
    int a,b,sum,i;
    a=b=1;
    printf("1,1,",sum);//first 2  terms
    for(i=0;i<x-2;i++)
    {
        sum=a+b;
        printf("%d,",sum);
        a=b;
        b=sum;    
    }
}

It may be noted that using a non recursive way to calculate Fibonacci series in C provides faster calculations as compared with recursive method. As recursive program have a large overhead of function calls. Also the recursive way is very unoptimised since it doesn't uses the last 2 values that have been calculated already..

Popular posts from this blog

Find nth Prime Number in C++

c++ program to find prime numbers: The problem of finding prime number can be solved by checking all numbers, testing them for prime and then moving ahead. If you want to calculate nth prime. Then this can be done in a brutal way by checking the number one by one. This may sound odd, by there is no easy way then this  for prime numbers (Well Actually there are like Pollard's Rho Algorithm, Number Sieves or Shor's Quantum Algorithm, but we are talking about the one that most people may understand easily). There may be way to pre-calculate the prime numbers but that again is not sufficient. So how can we use c++ to create a program to find prime numbers.

calculating leap year in c using if else

Most new students get really confused when it comes to calculating Leap year in C. It is given as an exercise to enhance their knowledge about using if else usages. This can be calculated using Logical operators too. But using if else provides clearer ways to calculate it. Both of the methods can be implemented in C/C++ program. Here we will discuss the if else method in C/C++