Nth term of a Custom Fibonacci series

10 Mar, 2022
Given three integers A, B and N. A Custom Fibonacci series is defined as F(x) = F(x – 1) + F(x + 1) where F(1) = A and F(2) = B. Now the task is to find the Nth term of this series.Examples:  
Input: A = 10, B = 17, N = 3 Output: 7 10, 17, 7, -10, -17, ...Input: A = 50, B = 12, N = 10 Output: -50  
 
Approach: It can be observed that the series will go on like A, B, B – A, -A, -B, A – B, A, B, B – A, ...Below is the implementation of the above approach:  
C++
Java
Python 3
C#
Javascript
// C++ implementation of the Custom Fibonacci series #include <bits/stdc++.h>using namespace std; // Function to return the nth term// of the required sequenceint nth_term(int a, int b, int n){    int z = 0;    if (n % 6 == 1)        z = a;    else if (n % 6 == 2)        z = b;    else if (n % 6 == 3)        z = b - a;    else if (n % 6 == 4)        z = -a;    else if (n % 6 == 5)        z = -b;    if (n % 6 == 0)        z = -(b - a);    return z;} // Driver codeint main(){    int a = 10, b = 17, n = 3;     cout << nth_term(a, b, n);     return 0;}
// Java implementation of the// Custom Fibonacci seriesclass GFG{ // Function to return the nth term// of the required sequencestatic int nth_term(int a, int b, int n){    int z = 0;    if (n % 6 == 1)        z = a;    else if (n % 6 == 2)        z = b;    else if (n % 6 == 3)        z = b - a;    else if (n % 6 == 4)        z = -a;    else if (n % 6 == 5)        z = -b;    if (n % 6 == 0)        z = -(b - a);    return z;} // Driver codepublic static void main(String[] args){    int a = 10, b = 17, n = 3;     System.out.println(nth_term(a, b, n));}} // This code is contributed by Rajput-Ji
# Python 3 implementation of the# Custom Fibonacci series # Function to return the nth term# of the required sequencedef nth_term(a, b, n):    z = 0    if (n % 6 == 1):        z = a    elif (n % 6 == 2):        z = b    elif (n % 6 == 3):        z = b - a    elif (n % 6 == 4):        z = -a    elif (n % 6 == 5):        z = -b    if (n % 6 == 0):        z = -(b - a)    return z # Driver codeif __name__ == '__main__':    a = 10    b = 17    n = 3     print(nth_term(a, b, n))     # This code is contributed by Surendra_Gangwar
// C# implementation of the// Custom Fibonacci seriesusing System; class GFG{     // Function to return the nth term// of the required sequencestatic int nth_term(int a, int b, int n){    int z = 0;    if (n % 6 == 1)        z = a;    else if (n % 6 == 2)        z = b;    else if (n % 6 == 3)        z = b - a;    else if (n % 6 == 4)        z = -a;    else if (n % 6 == 5)        z = -b;    if (n % 6 == 0)        z = -(b - a);    return z;} // Driver codestatic public void Main (){    int a = 10, b = 17, n = 3;     Console.Write(nth_term(a, b, n));}} // This code is contributed by ajit.
<script>// javascript implementation of the// Custom Fibonacci series    // Function to return the nth term    // of the required sequence    function nth_term(a , b , n)    {        var z = 0;        if (n % 6 == 1)            z = a;        else if (n % 6 == 2)            z = b;        else if (n % 6 == 3)            z = b - a;        else if (n % 6 == 4)            z = -a;        else if (n % 6 == 5)            z = -b;        if (n % 6 == 0)            z = -(b - a);        return z;    }     // Driver code    var a = 10, b = 17, n = 3;    document.write(nth_term(a, b, n)); // This code is contributed by Rajput-Ji</script>
7
 
Time Complexity: O(1)
Auxiliary Space: O(1)
Rajput-Ji
SURENDRA_GANGWAR
jit_t
subhammahato348
series
Mathematical
Mathematical
series
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.