Alternate Fibonacci Numbers

Give a number N, print alternate fibonacci numbers till n-th Fibonacci.

Examples:

Input :  N = 7
Output : 0 1 3 8 

Input  : N = 15
Output : 0 1 3 8 21 55 144 377 

Read method 2 in the following article : fibonacci number



Approach:Using dynamic programming approach. Keep storing the previously calculated fibonacci numbers and using the previous two to store the next fibonacci number.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// Alternate Fibonacci Series using Dynamic Programming
#include <bits/stdc++.h>
using namespace std;
  
void alternateFib(int n)
{
    if (n < 0)
      return;
  
    /* 0th and 1st number of the series are 0 and 1*/
    int f1 = 0;
    int f2 = 1;
  
    cout << f1 << " ";
    for (int i = 2; i <= n; i++) {
         int f3 = f2 + f1;
            
         if (i % 2 == 0)
            cout << f3 << " ";
  
         f1 = f2;
         f2 = f3;
    }
}
  
int main()
{
    int N = 15;
    alternateFib(N);
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Alternate Fibonacci Series 
// using Dynamic Programming
import java.io.*;
  
class GFG 
{
static void alternateFib(int n)
{
    if (n < 0)
    return;
  
    /* 0th and 1st number of the
       series are 0 and 1*/
    int f1 = 0;
    int f2 = 1;
  
    System.out.print(f1 + " ");
    for (int i = 2; i <= n; i++) 
    {
        int f3 = f2 + f1;
          
        if (i % 2 == 0)
            System.out.print(f3 + " ");
  
        f1 = f2;
        f2 = f3;
    }
}
  
// Driver Code
public static void main (String[] args) 
{
    int N = 15;
    alternateFib(N);
}
}
  
// This code is contributed
// by chandan_jnu.

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Alternate Fibonacci Series
# using Dynamic Programming
def alternateFib(n):
    if (n < 0):
        return -1;
  
    # 0th and 1st number of
    # the series are 0 and 1
    f1 = 0;
    f2 = 1;
  
    print(f1, end = " ");
    for i in range(2, n + 1):
        f3 = f2 + f1;
          
        if (i % 2 == 0):
            print(f3, end = " ");
  
        f1 = f2;
        f2 = f3;
  
# Driver Code
N = 15;
alternateFib(N);
  
# This code is contributed by mits

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// Alternate Fibonacci Series 
// using Dynamic Programming
using System;
  
class GFG 
{
static void alternateFib(int n)
{
    if (n < 0)
    return;
  
    /* 0th and 1st number of 
    the series are 0 and 1*/
    int f1 = 0;
    int f2 = 1;
  
    Console.Write(f1 + " ");
    for (int i = 2; i <= n; i++) 
    {
        int f3 = f2 + f1;
          
        if (i % 2 == 0)
            Console.Write(f3 + " ");
  
        f1 = f2;
        f2 = f3;
    }
}
  
// Driver Code
public static void Main () 
{
    int N = 15;
    alternateFib(N);
}
}
  
// This code is contributed
// by chandan_jnu.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// Alternate Fibonacci Series
// using Dynamic Programming
function alternateFib($n)
{
    if ($n < 0)
    return;
  
    /* 0th and 1st number of
    the series are 0 and 1*/
    $f1 = 0;
    $f2 = 1;
  
    echo $f1 . " ";
    for ($i = 2; $i <= $n; $i++)
    {
        $f3 = $f2 + $f1;
          
        if ($i % 2 == 0)
            echo $f3 . " ";
  
        $f1 = $f2;
        $f2 = $f3;
    }
}
  
// Driver Code
$N = 15;
alternateFib($N);
  
// This code is contributed by mits
?>

chevron_right


Output:

0 1 3 8 21 55 144 377

Time Complexity : O(n)
Auxiliary Space : O(1)



My Personal Notes arrow_drop_up

Maths is the language of nature

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.