Nth term of a Custom Fibonacci series
Last Updated :
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++
#include <bits/stdc++.h>
using namespace std;
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;
}
int main()
{
int a = 10, b = 17, n = 3;
cout << nth_term(a, b, n);
return 0;
}
|
Java
class GFG
{
static 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;
}
public static void main(String[] args)
{
int a = 10 , b = 17 , n = 3 ;
System.out.println(nth_term(a, b, n));
}
}
|
Python 3
def 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
if __name__ = = '__main__' :
a = 10
b = 17
n = 3
print (nth_term(a, b, n))
|
C#
using System;
class GFG
{
static 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;
}
static public void Main ()
{
int a = 10, b = 17, n = 3;
Console.Write(nth_term(a, b, n));
}
}
|
Javascript
<script>
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;
}
var a = 10, b = 17, n = 3;
document.write(nth_term(a, b, n));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Share your thoughts in the comments
Please Login to comment...