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: 8
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++ 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 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 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# 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 |
<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> |
343
Time Complexity: O(N)
Auxiliary Space: O(1)