Open In App

C Program to print Fibonacci Series without using loop

Improve
Improve
Like Article
Like
Save
Share
Report

Given a number N, the task is to print Fibonacci Series till Nth number without using any loop.
Examples: 
 

Input: N = 5 
Output: 0 1 1 2 3
Input: N = 10 
Output: 0 1 1 2 3 5 8 13 21 34 
 

 

Method 1: Using goto statement: The goto statement is a jump statement which is sometimes also referred to as unconditional jump statement. It can be used to jump from anywhere to anywhere within a function. Below are the steps: 
 

  1. Declare 3 int variable a, b and sum. a is the first value, b is the second value and the sum is the addition of a + b.
  2. Use label to create the loop with goto statement.
  3. If-else is checked if the condition is true then it continues the program else it terminates it.
  4. Print sum because the value of sum is 0 now and then use the concept of swapping as: 
     
sum = a + b
a = b
b = sum
  1.  

Below is the implementation of above approach:
 

C




// C program to print fibonacci series
// using goto statement
#include <stdio.h>
 
// Function to print Fibonacci Number
// using goto statement
void fibUsingGoto(int N)
{
    int a = 0, b = 1, sum = 0;
lableFib:
 
    // Print to series first N term
    if (N != 0) {
 
        // Print series
        printf(" %d", a);
 
        // Create next term
        sum = a + b;
        a = b;
        b = sum;
 
        // Decrement N
        N--;
 
        // Jump to lableFib
        goto lableFib;
    }
}
 
// Driver Code
int main()
{
    // Given number N
    int N = 10;
 
    // Function Call
    fibUsingGoto(N);
 
    return 0;
}


Output: 

0 1 1 2 3 5 8 13 21 34

 

Time Complexity: O(N) 
Auxiliary Space: O(N)
Method 2 – Using Recursion: 
 

  1. Declare three variable a, b, sum as 0, 1, and 0 respectively.
  2. Call recursively fib() function with first term, second term and the current sum of the Fibonacci series.
  3. After main function call fib() function, the fib() function call him self until the N numbers of Fibonacci Series are calculated.
  4. Update the value of a, b, and sum in each recursive call as shown below: 
     
sum = a + b
a = b
b = sum
  1.  

Below is the implementation of the above approach:
 

C




// C program to print fibonacci
// series using recursion
#include <stdio.h>
 
// Recursive function to print
// Fibonacci series
void fib(int a, int b, int sum, int N)
{
 
    // Print first N term of the series
    if (N != 0) {
 
        printf(" %d", a);
        sum = a + b;
        a = b;
        b = sum;
 
        // Decrement N
        N--;
 
        // recursive call function fib
        fib(a, b, sum, N);
    }
}
 
// Driver Code
int main()
{
    // Given Number N
    int N = 10;
 
    // First term as 0
    // Second term as 1 and
    // Sum of first and second term
    fib(0, 1, 0, N);
    return 0;
}


Output: 

0 1 1 2 3 5 8 13 21 34

 

Time Complexity: O(N) 
Auxiliary Space: O(N)
 



Last Updated : 24 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads