Open In App

Find the Nth element of the modified Fibonacci series

Last Updated : 13 Sep, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

Given two integers A and B which are the first two terms of the series and another integer N. The task is to find the Nth number using Fibonacci rule i.e. fib(i) = fib(i - 1) + fib(i - 2)
Example: 
 

Input: A = 2, B = 3, N = 4 
Output:
The series will be 2, 3, 5, 8, 13, 21, ... 
And the 4th element is 8.
Input: A = 5, B = 7, N = 10 
Output: 343 
 


 


Approach: Initialize variable sum = 0 that stores sum of the previous two values. Now, run a loop from i = 2 to N and for each index update value of sum = A + B and A = B, B = sum. Then finally, return the sum which is the required Nth element.
Below is the implementation of the above approach: 
 

C++
// C++ implementation of the approach
#include <iostream>
using namespace std;

// Function to return the Nth number of
// the modified Fibonacci series where
// A and B are the first two terms
int findNthNumber(int A, int B, int N)
{

    // To store the current element which
    // is the sum of previous two
    // elements of the series
    int sum = 0;

    // This loop will terminate when
    // the Nth element is found
    for (int i = 2; i < N; i++) {
        sum = A + B;

        A = B;

        B = sum;
    }

    // Return the Nth element
    return sum;
}

// Driver code
int main()
{
    int A = 5, B = 7, N = 10;

    cout << findNthNumber(A, B, N);

    return 0;
}
Java
// Java implementation of the approach
import java.util.*;

class GFG 
{

    // Function to return the Nth number of
    // the modified Fibonacci series where
    // A and B are the first two terms
    static int findNthNumber(int A, int B, int N) 
    {

        // To store the current element which
        // is the sum of previous two
        // elements of the series
        int sum = 0;

        // This loop will terminate when
        // the Nth element is found
        for (int i = 2; i < N; i++)
        {
            sum = A + B;

            A = B;

            B = sum;
        }

        // Return the Nth element
        return sum;
    }

    // Driver code
    public static void main(String[] args)
    {
        int A = 5, B = 7, N = 10;

        System.out.println(findNthNumber(A, B, N));
    }
} 

// This code is contributed by PrinciRaj1992
Python3
# Python3 implementation of the approach

# Function to return the Nth number of
# the modified Fibonacci series where
# A and B are the first two terms
def findNthNumber(A, B, N):

    # To store the current element which
    # is the sum of previous two
    # elements of the series
    sum = 0

    # This loop will terminate when
    # the Nth element is found
    for i in range(2, N):
        sum = A + B

        A = B

        B = sum
    
    # Return the Nth element
    return sum

# Driver code
if __name__ == '__main__':
    A = 5
    B = 7
    N = 10

    print(findNthNumber(A, B, N))

# This code is contributed by Ashutosh450
C#
// C# implementation of the approach
using System;

class GFG 
{

    // Function to return the Nth number of
    // the modified Fibonacci series where
    // A and B are the first two terms
    static int findNthNumber(int A, int B, int N) 
    {

        // To store the current element which
        // is the sum of previous two
        // elements of the series
        int sum = 0;

        // This loop will terminate when
        // the Nth element is found
        for (int i = 2; i < N; i++)
        {
            sum = A + B;

            A = B;

            B = sum;
        }

        // Return the Nth element
        return sum;
    }

    // Driver code
    public static void Main()
    {
        int A = 5, B = 7, N = 10;

        Console.WriteLine(findNthNumber(A, B, N));
    }
}

// This code is contributed by AnkitRai01
JavaScript
<script>

// javascript implementation of the approach

    // Function to return the Nth number of
    // the modified Fibonacci series where
    // A and B are the first two terms
    function findNthNumber(A , B , N) {

        // To store the current element which
        // is the sum of previous two
        // elements of the series
        var sum = 0;

        // This loop will terminate when
        // the Nth element is found
        for (i = 2; i < N; i++) {
            sum = A + B;

            A = B;

            B = sum;
        }

        // Return the Nth element
        return sum;
    }

    // Driver code
    
        var A = 5, B = 7, N = 10;

        document.write(findNthNumber(A, B, N));

// This code is contributed by todaysgaurav

</script>

Output: 
343

 

Time Complexity: O(N)

Auxiliary Space: O(1)


Next Article

Similar Reads